浏览代码

报告签章

sangwenwei 1 年之前
父节点
当前提交
2eff66fa21
共有 18 个文件被更改,包括 7587 次插入2588 次删除
  1. 458 32
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/controller/ProjectReportSignatureWorkController.java
  2. 18 5
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/dao/ProjectReportSignatureWorkDao.java
  3. 9 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureRelation.java
  4. 81 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureWork.java
  5. 50 0
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ReportSignature.java
  6. 1165 250
      src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/service/ProjectReportSignatureWorkService.java
  7. 2131 2041
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  8. 85 18
      src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml
  9. 21 0
      src/main/webapp/static/common/jeeplus.js
  10. 772 0
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm.jsp
  11. 116 71
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkAudit.jsp
  12. 650 0
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkAuditApproval.jsp
  13. 101 12
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm.jsp
  14. 87 21
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList.jsp
  15. 187 75
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModify.jsp
  16. 766 0
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModifyApproval.jsp
  17. 119 63
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkView.jsp
  18. 771 0
      src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkViewApproval.jsp

+ 458 - 32
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/controller/ProjectReportSignatureWorkController.java

@@ -78,7 +78,7 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
 
 
-    @ModelAttribute
+//    @ModelAttribute
     public ProjectReportSignatureWork get(@RequestParam(required=false) String id) {
         ProjectReportSignatureWork entity = null;
         if (StringUtils.isNotBlank(id)){
@@ -164,15 +164,43 @@ public class ProjectReportSignatureWorkController extends BaseController {
         //根据签章id查询报告签章信息
         ReportSignature reportSignature=projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
         if (null != reportSignature){
+            ReportSignature report = projectReportSignatureService.getReport(reportSignature.getId());
+            projectReportSignature.setWorkAttachments(report.getWorkAttachments());
             projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
             projectReportSignature.setSignatureName(reportSignature.getSignatureName());
         }
-        //根据签章id查询审定单签章信息
-        ReportSignature approvalSignature=projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
-        if (null != approvalSignature){
-            projectReportSignature.setDutyPerson(approvalSignature.getDutyPerson());
-            projectReportSignature.setSignatureName(approvalSignature.getSignatureName());
+        model.addAttribute("projectReportSignature", projectReportSignature);
+        return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm";
+    }
+
+    /**
+     * 查看,增加,编辑项目表单页面
+     */
+    @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical= Logical.OR)
+    @RequestMapping(value = "reportForm")
+    public String reportForm(ProjectReportSignatureWork projectReportSignature, Model model) {
+        User user = UserUtils.getUser();
+        if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
+            projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
+            projectReportSignature.setSignatureType("1");
+            ReportSignature approvalBySigId = projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
+            if (null != approvalBySigId){
+                ReportSignature report = projectReportSignatureService.getReport(approvalBySigId.getId());
+                projectReportSignature.setSignatureName(approvalBySigId.getSignatureName());
+                projectReportSignature.setDutyPerson(approvalBySigId.getDutyPerson());
+                projectReportSignature.setWorkAttachments(report.getWorkAttachments());
+            }
+        }else {
+            projectReportSignature.setCreateBy(user);
+            projectReportSignature.setOffice(UserUtils.getSelectOffice());
+            projectReportSignature.setCreateDate(new Date());
+        }
+        //根据当前登录人获取签章负责人信息
+        List<User> userList = projectReportSignatureService.getDutyPersonList(user);
+        if (null != userList){
+            model.addAttribute("dutyPersonList",userList);
         }
+
         model.addAttribute("projectReportSignature", projectReportSignature);
         return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm";
     }
@@ -180,11 +208,43 @@ public class ProjectReportSignatureWorkController extends BaseController {
     /**
      * 查看,增加,编辑项目表单页面
      */
+    @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical= Logical.OR)
+    @RequestMapping(value = "approvalForm")
+    public String approvalForm(ProjectReportSignatureWork projectReportSignature, Model model) {
+        User user = UserUtils.getUser();
+        if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
+            projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
+            projectReportSignature.setSignatureType("2");
+            ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
+            if (null != approvalBySigId){
+                ReportSignature approval = projectReportSignatureService.getApproval(approvalBySigId.getId());
+                projectReportSignature.setSignatureName(approvalBySigId.getSignatureName());
+                projectReportSignature.setDutyPerson(approvalBySigId.getDutyPerson());
+                projectReportSignature.setWorkAttachments(approval.getWorkAttachments());
+            }
+        }else {
+            projectReportSignature.setCreateBy(user);
+            projectReportSignature.setOffice(UserUtils.getSelectOffice());
+            projectReportSignature.setCreateDate(new Date());
+        }
+        //根据当前登录人获取签章负责人信息
+        List<User> userList = projectReportSignatureService.getDutyPersonList(user);
+        if (null != userList){
+            model.addAttribute("dutyPersonList",userList);
+        }
+
+        model.addAttribute("projectReportSignature", projectReportSignature);
+        return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm";
+    }
+
+    /**
+     * 查看,增加,编辑项目表单页面
+     */
     @RequiresPermissions(value={"projectReport:projectReportSignature:edit"},logical= Logical.OR)
     @RequestMapping(value = "modify")
-    public String modify(ProjectReportSignatureWork projectReportSignature, Model model) {
+    public String modify(ReportSignature projectReportSignature, Model model) {
         if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
-            projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
+            projectReportSignature = projectReportSignatureService.getReport(projectReportSignature.getId());
         }else {
             projectReportSignature.setCreateBy(UserUtils.getUser());
             projectReportSignature.setCreateDate(new Date());
@@ -204,11 +264,49 @@ public class ProjectReportSignatureWorkController extends BaseController {
                 projectReportSignature.setAct(act);
             }
         }
+        //签章责任列表
+        User user = UserUtils.get(projectReportSignature.getCreateBy().getId());
+        List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user);
+        model.addAttribute("dutyPersonList",dutyPersonList);
 
         model.addAttribute("projectReportSignature", projectReportSignature);
         return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModify";
     }
 
+    @RequiresPermissions(value={"projectReport:projectReportSignature:edit"},logical= Logical.OR)
+    @RequestMapping(value = "modifyApproval")
+    public String modifyApproval(ReportSignature projectReportSignature, Model model) {
+        if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
+            projectReportSignature = projectReportSignatureService.getApproval(projectReportSignature.getId());
+        }else {
+            projectReportSignature.setCreateBy(UserUtils.getUser());
+            projectReportSignature.setCreateDate(new Date());
+        }
+
+        if(StringUtils.isNotBlank(projectReportSignature.getProcessInstanceId())){
+            ProcessInstance processInstance = actTaskService.getProcIns(projectReportSignature.getProcessInstanceId());
+            if (processInstance!=null) {
+                Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
+                Act act = new Act();
+                act.setTaskId(taskInfok.getId());
+                act.setTaskName(taskInfok.getName());
+                act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+                act.setProcDefId(taskInfok.getProcessDefinitionId());
+                act.setProcInsId(taskInfok.getProcessInstanceId());
+                act.setTask(taskInfok);
+                projectReportSignature.setAct(act);
+            }
+        }
+        //签章责任列表
+        User user = UserUtils.get(projectReportSignature.getCreateBy().getId());
+        List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user);
+        model.addAttribute("dutyPersonList",dutyPersonList);
+
+
+        model.addAttribute("projectReportSignature", projectReportSignature);
+        return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModifyApproval";
+    }
+
     /**
      * 查看,增加,编辑项目表单页面
      */
@@ -222,6 +320,22 @@ public class ProjectReportSignatureWorkController extends BaseController {
             projectReportSignature.setCreateDate(new Date());
         }
 
+        //根据签章id查询报告签章信息
+        ReportSignature reportSignature=projectReportSignatureService.getReportBySigId(projectReportSignature.getId());
+        if (null != reportSignature){
+            ReportSignature report = projectReportSignatureService.getReport(reportSignature.getId());
+            projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
+            projectReportSignature.setSignatureName(reportSignature.getSignatureName());
+            projectReportSignature.setWorkAttachments(report.getWorkAttachments());
+            projectReportSignature.setOffice(report.getOffice());
+            projectReportSignature.setSignatureType(report.getSignatureType());
+        }
+
+        //签章责任列表
+        User user1 = UserUtils.get(projectReportSignature.getCreateBy().getId());
+        List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user1);
+        model.addAttribute("dutyPersonList",dutyPersonList);
+
         List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();
         if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
             WorkClientAttachment signatureAttachment = new WorkClientAttachment();
@@ -249,15 +363,79 @@ public class ProjectReportSignatureWorkController extends BaseController {
             signatureWorkAttachments.add(signatureAttachment);
         }
 
-
         if(signatureWorkAttachments.size()>0){
             projectReportSignature.setSignatureWorkAttachments(signatureWorkAttachments);
         }
         model.addAttribute("projectReportSignature", projectReportSignature);
         return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkView";
     }
+
+    /**
+     * 查看,增加,编辑项目表单页面-审定单签章
+     */
+    @RequiresPermissions(value={"projectReport:projectReportSignature:view"},logical= Logical.OR)
+    @RequestMapping(value = "viewApproval")
+    public String viewApproval(ProjectReportSignatureWork projectReportSignature, Model model) {
+        if (projectReportSignature!=null&&StringUtils.isNotBlank(projectReportSignature.getId())) {
+            projectReportSignature = projectReportSignatureService.get(projectReportSignature.getId());
+        }else {
+            projectReportSignature.setCreateBy(UserUtils.getUser());
+            projectReportSignature.setCreateDate(new Date());
+        }
+
+        //根据签章id查询报告签章信息
+        ReportSignature reportSignature=projectReportSignatureService.getApprovalBySigId(projectReportSignature.getId());
+        if (null != reportSignature){
+            ReportSignature report = projectReportSignatureService.getApproval(reportSignature.getId());
+            projectReportSignature.setDutyPerson(reportSignature.getDutyPerson());
+            projectReportSignature.setSignatureName(reportSignature.getSignatureName());
+            projectReportSignature.setWorkAttachments(report.getWorkAttachments());
+            projectReportSignature.setOffice(report.getOffice());
+            projectReportSignature.setSignatureType(report.getSignatureType());
+
+        }
+
+        //签章责任列表
+        User user1 = UserUtils.get(projectReportSignature.getCreateBy().getId());
+        List<User> dutyPersonList = projectReportSignatureService.getDutyPersonList(user1);
+        model.addAttribute("dutyPersonList",dutyPersonList);
+
+        List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();
+        if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
+            WorkClientAttachment signatureAttachment = new WorkClientAttachment();
+
+            //处理文件路径
+            //如果文件路径中包含 /xg-qz 则表示文件存储在签章的对应文件库中需要单独进行处理
+            if(projectReportSignature.getSignatureUrl().contains("/xg-qz")){
+                if(StringUtils.isNotBlank(projectReportSignature.getSignatureUrl())){
+                    String signatureUrl = projectReportSignature.getSignatureUrl().replace("/xg-qz","");
+                    projectReportSignature.setSignatureUrl(signatureUrl);
+                }
+                signatureAttachment.setTemporaryUrl(new OSSClientUtil().getQzFileTemporaryLookUrl(aliyunUrl + projectReportSignature.getSignatureUrl()));
+            }else{
+                signatureAttachment.setTemporaryUrl(new OSSClientUtil().getFileTemporaryLookUrl(aliyunUrl + projectReportSignature.getSignatureUrl()));
+            }
+            User user = UserUtils.get(projectReportSignature.getSignatureUploadFileUser().getId());
+            signatureAttachment.setCreateBy(user);
+            signatureAttachment.setUpdateBy(user);
+            signatureAttachment.setCreateDate(projectReportSignature.getSignatureUploadDate());
+            signatureAttachment.setUpdateDate(projectReportSignature.getSignatureUploadDate());
+            signatureAttachment.setDelFlag("0");
+            signatureAttachment.setAttachmentName(projectReportSignature.getSignatureFileName());
+            String type = projectReportSignature.getSignatureUrl().substring(projectReportSignature.getSignatureUrl().lastIndexOf(".") + 1);
+            signatureAttachment.setType(type);
+            signatureWorkAttachments.add(signatureAttachment);
+        }
+
+        if(signatureWorkAttachments.size()>0){
+            projectReportSignature.setSignatureWorkAttachments(signatureWorkAttachments);
+        }
+        model.addAttribute("projectReportSignature", projectReportSignature);
+        return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkViewApproval";
+    }
+
     /**
-     * 暂存信息
+     * 暂存信息-报告签章
      */
     @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
     @RequestMapping(value = "tstore")
@@ -266,13 +444,17 @@ public class ProjectReportSignatureWorkController extends BaseController {
             return form(projectReportSignature, model);
         }
         try {
+            if (StringUtils.isBlank(projectReportSignature.getSignatureType())){
+                addMessage(redirectAttributes, "签章类型未选择,无法保存");
+                return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+            }
             if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
                 ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
-
-                if(t.getStatus() == 2){
+                ReportSignature approvalBySigId = projectReportSignatureService.getReportBySigId(t.getId());
+                if(approvalBySigId.getStatus() == 2){
                     addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
                     return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
-                }else if(t.getStatus() == 5){
+                }else if(approvalBySigId.getStatus() == 5){
                     addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
                     return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
                 }
@@ -290,20 +472,23 @@ public class ProjectReportSignatureWorkController extends BaseController {
         }
         return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
     }
-
     /**
-     * 保存项目
+     * 暂存信息-审定单签章
      */
     @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
-    @RequestMapping(value = "save")
-    public String save(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
+    @RequestMapping(value = "tstoreApproval")
+    public String tstoreApproval(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) {
         if (!beanValidator(model, projectReportSignature)){
             return form(projectReportSignature, model);
         }
         try {
-
             if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
                 ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
+                ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(t.getId());
+                if (StringUtils.isBlank(projectReportSignature.getSignatureType())){
+                    addMessage(redirectAttributes, "签章类型未选择,无法保存");
+                    return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                }
 
                 if(t.getStatus() == 2){
                     addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
@@ -313,6 +498,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
                     return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
                 }
                 MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
+                t.setStatus(1);
+                projectReportSignatureService.saveApprovalInfo(t);//保存
+            } else {//新增表单保存
+                projectReportSignature.setStatus(1);
+                projectReportSignatureService.saveApprovalInfo(projectReportSignature);//保存
+            }
+            addMessage(redirectAttributes, "保存报告签章申请成功");
+        }catch (Exception e){
+            logger.error("保存报告签章申请异常:",e);
+            addMessage(redirectAttributes, "保存报告签章申请异常:"+e.getMessage());
+        }
+        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+    }
+
+    /**
+     * 保存项目
+     */
+    @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public String save(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
+        if (!beanValidator(model, projectReportSignature)){
+            return form(projectReportSignature, model);
+        }
+        try {
+
+            if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
+                ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
+                ReportSignature reportBySigId = projectReportSignatureService.getReportBySigId(t.getId());
+                if (null != reportBySigId){
+                    if(reportBySigId.getStatus() == 2){
+                        addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }else if(reportBySigId.getStatus() == 5){
+                        addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }
+                }
+                MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
                 projectReportSignatureService.save(t, ProjectStatusEnum.SIGNED);//保存
             } else {//新增表单保存
                 projectReportSignatureService.save(projectReportSignature, ProjectStatusEnum.SIGNED);//保存
@@ -327,6 +550,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
 
     /**
+     * 保存项目-暂存
+     */
+    @RequiresPermissions(value={"projectReport:projectReportSignature:add","projectReport:projectReportSignature:edit"},logical=Logical.OR)
+    @RequestMapping(value = "saveApproval")
+    public String saveApproval(ProjectReportSignatureWork projectReportSignature, Model model, RedirectAttributes redirectAttributes) throws Exception {
+        if (!beanValidator(model, projectReportSignature)){
+            return form(projectReportSignature, model);
+        }
+        try {
+
+            if (!projectReportSignature.getIsNewRecord()) {//编辑表单保存
+                ProjectReportSignatureWork t = projectReportSignatureService.get(projectReportSignature.getId());//从数据库取出记录的值
+                ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(t.getId());
+                if (null != approvalBySigId){
+                    if(approvalBySigId.getStatus() == 2){
+                        addMessage(redirectAttributes, "报告签章申请已送审,无法重复送审");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }else if(approvalBySigId.getStatus() == 5){
+                        addMessage(redirectAttributes, "报告签章申请已审核完成,无法再次送审");
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }
+
+                }
+                MyBeanUtils.copyBeanNotNull2Bean(projectReportSignature, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
+                projectReportSignatureService.saveApproval(t, ProjectStatusEnum.SIGNED);//保存
+            } else {//新增表单保存
+                projectReportSignatureService.saveApproval(projectReportSignature, ProjectStatusEnum.SIGNED);//保存
+            }
+            addMessage(redirectAttributes, "保存报告签章申请成功");
+        }catch (Exception e){
+            logger.error("保存报告签章申请异常:",e);
+            addMessage(redirectAttributes, "保存报告签章申请异常:"+e.getMessage());
+        }
+        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+    }
+
+
+    /**
      * 撤回操作
      * @param request
      * @param redirectAttributes
@@ -338,15 +599,44 @@ public class ProjectReportSignatureWorkController extends BaseController {
         HashMap<String, String> requestMap = findRequestMap(request);
         String id = requestMap.get("id");
         try {
-            ProjectReportSignatureWork projectReportSignature = projectReportSignatureService.get(id);
-            if(3==projectReportSignature.getStatus() || 4==projectReportSignature.getStatus()){
+            ReportSignature reportSignature = projectReportSignatureService.getReport(id);
+            if(3==reportSignature.getStatus() || 4==reportSignature.getStatus()){
                 addMessage(redirectAttributes, "报告签章申请已撤回、驳回,请勿重复操作");
                 return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
-            }else if(5==projectReportSignature.getStatus()){
+            }else if(5==reportSignature.getStatus()){
                 addMessage(redirectAttributes, "报告签章申请已审批通过,无法撤回");
                 return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
             }
-            projectReportSignatureService.cancelInvalidate(projectReportSignature);
+            projectReportSignatureService.cancelInvalidate(reportSignature);
+            addMessage(redirectAttributes, "撤回该报告签章申请成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该报告签章申请失败");
+        }
+        return "redirect:" + Global.getAdminPath() + "/projectReport/projectReportSignature/?repage";
+    }
+
+    /**
+     * 撤回操作
+     * @param request
+     * @param redirectAttributes
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping(value = "revokeApproval")
+    public String revokeApproval(HttpServletRequest request, RedirectAttributes redirectAttributes) throws Exception {
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("id");
+        try {
+            ReportSignature reportSignature = projectReportSignatureService.getApproval(id);
+            if(3==reportSignature.getStatus() || 4==reportSignature.getStatus()){
+                addMessage(redirectAttributes, "报告签章申请已撤回、驳回,请勿重复操作");
+                return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+            }else if(5==reportSignature.getStatus()){
+                addMessage(redirectAttributes, "报告签章申请已审批通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+            }
+            projectReportSignatureService.cancelInvalidateApproval(reportSignature);
             addMessage(redirectAttributes, "撤回该报告签章申请成功");
         }catch (Exception e){
             logger.info(e.getMessage());
@@ -377,7 +667,19 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
     @RequestMapping(value = "getProcess")
     public String getProcess(ProjectReportSignatureWork projectReportSignature, Model model, HttpServletRequest request){
-        model.addAttribute("processInstanceId", projectReportSignature.getProcessInstanceId());
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("reportId");
+        ReportSignature reportSignature = projectReportSignatureService.getReport(id);
+        model.addAttribute("processInstanceId", reportSignature.getProcessInstanceId());
+        return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkTask";
+    }
+
+    @RequestMapping(value = "getApprovalProcess")
+    public String getApprovalProcess(ProjectReportSignatureWork projectReportSignature, Model model, HttpServletRequest request){
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("approvalId");
+        ReportSignature reportSignature = projectReportSignatureService.getApproval(id);
+        model.addAttribute("processInstanceId", reportSignature.getProcessInstanceId());
         return "modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkTask";
     }
 
@@ -468,7 +770,9 @@ public class ProjectReportSignatureWorkController extends BaseController {
      * @return
      */
     @RequestMapping("saveAudit")
-    public String saveAudit(ProjectReportSignatureWork projectReportSignature, RedirectAttributes redirectAttributes)  {
+    public String saveAudit(ReportSignature projectReportSignature, RedirectAttributes redirectAttributes)  {
+        ReportSignature reportSignature = projectReportSignatureService.getReport(projectReportSignature.getId());
+        projectReportSignature.setStatus(reportSignature.getStatus());
         String home = projectReportSignature.getHome();
         try {
             String taskDefKey = projectReportSignature.getAct().getTaskDefKey();
@@ -478,15 +782,13 @@ public class ProjectReportSignatureWorkController extends BaseController {
             }
             List<User> users = null;
             //所属部门
-            Office office = officeService.get(projectReportSignature.getOffice().getId());
+            Office office = officeService.get(reportSignature.getOffice().getId());
+            projectReportSignature.setOffice(office);
+            projectReportSignature.setCompany(reportSignature.getCompany());
             if ("bmzr".equals(taskDefKey)){
-                users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),2);
-                if (users == null)
-                    users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
-            }else if ("bgs".equals(taskDefKey)){
-                users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),2);
-                if (users == null)
-                    users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
+                users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),1);
+                //if (users == null)
+                    //users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
             }else if ("modifyApply".equals(taskDefKey)){
                 users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(), 1);
             }
@@ -532,6 +834,77 @@ public class ProjectReportSignatureWorkController extends BaseController {
         }
     }
 
+    /**
+     * 审批
+     * @param projectReportSignature
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping("saveAuditApproval")
+    public String saveAuditApproval(ReportSignature projectReportSignature, RedirectAttributes redirectAttributes)  {
+        ReportSignature reportSignature = projectReportSignatureService.getApproval(projectReportSignature.getId());
+        projectReportSignature.setStatus(reportSignature.getStatus());
+        String home = projectReportSignature.getHome();
+        try {
+            String taskDefKey = projectReportSignature.getAct().getTaskDefKey();
+            //当状态为未通过时,重新修改数据
+            if ("modifyApply".equals(taskDefKey)) {
+                projectReportSignature.getAct().setComment("重新申请");
+            }
+            List<User> users = null;
+            //所属部门
+            Office office = officeService.get(reportSignature.getOffice().getId());
+            projectReportSignature.setOffice(office);
+            projectReportSignature.setCompany(reportSignature.getCompany());
+            if ("bmzr".equals(taskDefKey)){
+                users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(),1);
+                //if (users == null)
+                //users = UserUtils.getByRoleActivityEnname("bgsquhe", 3, office.getId(), "11", projectReportSignature.getCreateBy());
+            }else if ("modifyApply".equals(taskDefKey)){
+                users = UserUtils.getByProssType(projectReportSignature.getProcessInstanceId(), 1);
+            }
+
+            String flag = projectReportSignature.getAct().getFlag();
+            if ("yes".equals(flag) && (users==null || users.size()==0)){
+                addMessage(redirectAttributes, "审批失败,审批人为空,请联系管理员!");
+            }else {
+                if (projectReportSignature.getStatus() != 2 && projectReportSignature.getStatus() != 4 && projectReportSignature.getStatus() != 5) {
+                    addMessage(redirectAttributes, "报告签章申请未发起,请发起申请");
+                    if (StringUtils.isNotBlank(home) && "home".equals(home)) {
+                        return "redirect:" + Global.getAdminPath() + "/home/?repage";
+                    }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+                        return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+                    } else {
+                        return "redirect:" + Global.getAdminPath() + "/projectReport/projectReportSignature/?repage";
+                    }
+                }
+                if(projectReportSignature.getStatus() == 5){
+                    addMessage(redirectAttributes, "报告签章申请已登记完成,无法再次送审");
+                    if (StringUtils.isNotBlank(home) && "home".equals(home)){
+                        return "redirect:" + Global.getAdminPath() + "/home/?repage";
+                    }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+                        return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+                    }else {
+                        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+                    }
+                }
+                String str = projectReportSignatureService.signatuereSaveAuditApproval(projectReportSignature,users);
+                addMessage(redirectAttributes, str);
+            }
+        }catch (Exception e){
+            addMessage(redirectAttributes, "报告签章申请审批失败");
+            logger.error("Exception e:"+e);
+        }
+
+        if (StringUtils.isNotBlank(home) && "home".equals(home)){
+            return "redirect:" + Global.getAdminPath() + "/home/?repage";
+        }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+            return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+        }else {
+            return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+        }
+    }
+
 
     /**
      * 选择签章项目报告
@@ -568,6 +941,22 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
 
     /**
+     * 校验项目是否存在
+     */
+    @RequestMapping(value = "checkProject")
+    @ResponseBody
+    public boolean checkProject(HttpServletRequest request){
+        String obj = request.getParameter("obj");
+        Integer projectRecords = projectReportSignatureService.checkProject(obj);
+        if (projectRecords>0){
+            return true;
+        }
+        return false;
+
+    }
+
+
+    /**
      * 获取项目编号
      * @return
      */
@@ -620,4 +1009,41 @@ public class ProjectReportSignatureWorkController extends BaseController {
         return "modules/signature/projectRerpotSignatureWork/ProjectReportSignatureProjectView";
     }
 
+    /**
+     * 查询签章类型是否已经存在
+     * @return
+     */
+    @RequestMapping(value = "checkType")
+    @ResponseBody
+    public boolean checkType(ReportSignature reportSignature){
+        //传进来的id是基础表的id,只会在第一次新增时出现该id
+        ProjectReportSignatureWork projectReportSignatureWork = projectReportSignatureService.get(reportSignature.getId());
+        if (null != projectReportSignatureWork){
+            if (reportSignature.getSignatureType().equals("1")){
+                ReportSignature reportBySigId = projectReportSignatureService.getReportBySigId(projectReportSignatureWork.getId());
+                if (null != reportBySigId){
+                    return true;
+                }
+            }else {
+                ReportSignature approvalBySigId = projectReportSignatureService.getApprovalBySigId(projectReportSignatureWork.getId());
+                if (null != approvalBySigId){
+                    return true;
+                }
+            }
+        }else { //传进来的id是类型表的id
+            if (reportSignature.getSignatureType().equals("1")){
+                ReportSignature reportBySigId = projectReportSignatureService.getReport(reportSignature.getId());
+                if (null != reportBySigId && !reportBySigId.getId().equals(reportSignature.getId())){
+                    return true;
+                }
+            }else {
+                ReportSignature approvalBySigId = projectReportSignatureService.getApproval(projectReportSignatureWork.getId());
+                if (null != approvalBySigId && !approvalBySigId.getId().equals(reportSignature.getId())){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
 }

+ 18 - 5
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/dao/ProjectReportSignatureWorkDao.java

@@ -2,6 +2,7 @@ package com.jeeplus.modules.signature.projectReportSignatureWork.dao;
 
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ProjectReportSignatureRelation;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ProjectReportSignatureWork;
 import com.jeeplus.modules.signature.projectReportSignatureWork.entity.ReportSignature;
@@ -31,7 +32,13 @@ public interface ProjectReportSignatureWorkDao extends CrudDao<ProjectReportSign
      * 修改状态值和流程id
      * @param projectReportSignature
      */
-    void updateProcessIdAndStatus(ProjectReportSignatureWork projectReportSignature);
+    void updateProcessIdAndStatus(ReportSignature projectReportSignature);
+
+    /**
+     * 修改审定单状态值和流程id
+     * @param projectReportSignature
+     */
+    void updateApprovalProcessIdAndStatus(ReportSignature projectReportSignature);
 
     /**
      * 修改签章信息
@@ -76,15 +83,21 @@ public interface ProjectReportSignatureWorkDao extends CrudDao<ProjectReportSign
 
     List<User> getDutyPersonList(String id);
     //新增报告签章信息
-    void insertReportSignature(ProjectReportSignatureWork projectReportSignature);
+    void insertReportSignature(ReportSignature signature);
     //修改报告签章信息
-    void updateReportSignature(ProjectReportSignatureWork projectReportSignature);
+    void updateReportSignature(ReportSignature signature);
     //新增审定单签章信息
-    void insertApprovalSignature(ProjectReportSignatureWork projectReportSignature);
+    void insertApprovalSignature(ReportSignature signature);
     //修改审定单签章信息
-    void updateApprovalSignature(ProjectReportSignatureWork projectReportSignature);
+    void updateApprovalSignature(ReportSignature signature);
     //删除审定单信息
     void deleteApprovalSignature(String id);
     //删除报告签章信息
     void deleteReportSignature(String id);
+
+    ReportSignature getReport(String id);
+
+    ReportSignature getApproval(String id);
+
+    Integer checkProject(String id);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureRelation.java

@@ -16,6 +16,15 @@ public class ProjectReportSignatureRelation extends DataEntity<WorkInvoice> {
     private String projectNum;     //项目编号
     private String clientName;  //委托方
     private String reportDataNum;   //报告号
+    private String submitMoney; //项目等级
+
+    public String getSubmitMoney() {
+        return submitMoney;
+    }
+
+    public void setSubmitMoney(String submitMoney) {
+        this.submitMoney = submitMoney;
+    }
 
     public String getSignatureId() {
         return signatureId;

+ 81 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ProjectReportSignatureWork.java

@@ -42,6 +42,15 @@ public class ProjectReportSignatureWork extends ActEntity<ProjectReportSignature
     private User signatureUploadFileUser;		//签章文件上传人信息
     private String dutyPerson; //签章责任人
     private String signatureId; //签章id
+    private String projectId;
+    private ReportSignature reportSignature; //报告签章类型信息
+    private ReportSignature approvalSignature; //审定单签章类型信息
+    private String reportId; //报告签章类型id
+    private String approvalId; //审定单签章类型id
+    private String reportProcInsId; //报告签章类型流程id
+    private String approvalProcInsId; //审定单签章类型流程id
+    private String reportStatus; //报告签章-状态
+    private String approvalStatus; //审定单签章-状态
 
     private ProjectReportSignatureRelation reportSignatureRelation;
 
@@ -52,8 +61,80 @@ public class ProjectReportSignatureWork extends ActEntity<ProjectReportSignature
     private List<WorkClientAttachment> workAttachments = Lists.newArrayList();//签章附件
     private List<WorkClientAttachment> signatureWorkAttachments = Lists.newArrayList();//已签章附件
 
+    public String getReportStatus() {
+        return reportStatus;
+    }
+
+    public void setReportStatus(String reportStatus) {
+        this.reportStatus = reportStatus;
+    }
+
+    public String getApprovalStatus() {
+        return approvalStatus;
+    }
+
+    public void setApprovalStatus(String approvalStatus) {
+        this.approvalStatus = approvalStatus;
+    }
+
+    public String getReportProcInsId() {
+        return reportProcInsId;
+    }
+
+    public void setReportProcInsId(String reportProcInsId) {
+        this.reportProcInsId = reportProcInsId;
+    }
+
+    public String getApprovalProcInsId() {
+        return approvalProcInsId;
+    }
+
+    public void setApprovalProcInsId(String approvalProcInsId) {
+        this.approvalProcInsId = approvalProcInsId;
+    }
+
     private String projectName;   //签章项目名称
 
+    public String getReportId() {
+        return reportId;
+    }
+
+    public void setReportId(String reportId) {
+        this.reportId = reportId;
+    }
+
+    public String getApprovalId() {
+        return approvalId;
+    }
+
+    public void setApprovalId(String approvalId) {
+        this.approvalId = approvalId;
+    }
+
+    public ReportSignature getReportSignature() {
+        return reportSignature;
+    }
+
+    public void setReportSignature(ReportSignature reportSignature) {
+        this.reportSignature = reportSignature;
+    }
+
+    public ReportSignature getApprovalSignature() {
+        return approvalSignature;
+    }
+
+    public void setApprovalSignature(ReportSignature approvalSignature) {
+        this.approvalSignature = approvalSignature;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
     public String getSignatureId() {
         return signatureId;
     }

+ 50 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/entity/ReportSignature.java

@@ -1,7 +1,12 @@
 package com.jeeplus.modules.signature.projectReportSignatureWork.entity;
 
+import com.google.common.collect.Lists;
 import com.jeeplus.common.persistence.ActEntity;
 import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
+
+import java.util.List;
 
 /**
  * 报告签章表,审定单签章
@@ -15,6 +20,51 @@ public class ReportSignature extends ActEntity<ReportSignature> {
     private String dutyPerson; //签章责任人
     private String signatureId; //签章id
     private String SignatureName; //签章描述
+    private String home;
+    private String signatureType;   //签章类型(字典)
+    private ProjectReportSignatureRelation reportSignatureRelation;
+    private List<WorkClientAttachment> workAttachments = Lists.newArrayList();//签章附件
+    private List<User> dutyPersonList; //签章责任人
+
+    public List<User> getDutyPersonList() {
+        return dutyPersonList;
+    }
+
+    public void setDutyPersonList(List<User> dutyPersonList) {
+        this.dutyPersonList = dutyPersonList;
+    }
+
+    public String getSignatureType() {
+        return signatureType;
+    }
+
+    public void setSignatureType(String signatureType) {
+        this.signatureType = signatureType;
+    }
+
+    public ProjectReportSignatureRelation getReportSignatureRelation() {
+        return reportSignatureRelation;
+    }
+
+    public void setReportSignatureRelation(ProjectReportSignatureRelation reportSignatureRelation) {
+        this.reportSignatureRelation = reportSignatureRelation;
+    }
+
+    public List<WorkClientAttachment> getWorkAttachments() {
+        return workAttachments;
+    }
+
+    public void setWorkAttachments(List<WorkClientAttachment> workAttachments) {
+        this.workAttachments = workAttachments;
+    }
+
+    public String getHome() {
+        return home;
+    }
+
+    public void setHome(String home) {
+        this.home = home;
+    }
 
     public String getSignatureName() {
         return SignatureName;

文件差异内容过多而无法显示
+ 1165 - 250
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/service/ProjectReportSignatureWorkService.java


文件差异内容过多而无法显示
+ 2131 - 2041
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java


+ 85 - 18
src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml

@@ -27,7 +27,8 @@
 		a.signature_upload_date as "signatureUploadDate",
 		a.signature_upload_file_user as "signatureUploadFileUser.id",
 		sus.name as "signatureUploadFileUser.name",
-		a.signature_flag as "signatureFlag"
+		a.signature_flag as "signatureFlag",
+		a.project_id as "projectId"
 	</sql>
 
 	<sql id="signatureColumns">
@@ -87,12 +88,23 @@
 
 	<select id="findList" resultType="ProjectReportSignatureWork" >
 		SELECT
-		<include refid="dailyOfficeWorkColumns"/>
-		,( select group_concat(rpr.project_name) from rural_project_records rpr
-		LEFT JOIN signature_project_report_relevance_number sprrn ON rpr.id = sprrn.project_id
-		WHERE sprrn.signature_project_report_id = a.id) as "projectName"
+		<include refid="dailyOfficeWorkColumns"/>,
+		rpr.project_name as 'reportSignatureRelation.projectName',
+		rpr.project_id as 'reportSignatureRelation.projectNum',
+		prd.number as 'reportSignatureRelation.reportDataNum',
+		rpr.submit_money as 'reportSignatureRelation.submitMoney',
+		rsr.status as "reportStatus",
+		rsr.process_instance_id as "reportProcInsId",
+		rsr.id as "reportId",
+		rsa.status as "approvalStatus",
+		rsa.process_instance_id as "approvalProcInsId",
+		rsa.id as "approvalId"
 		FROM signature_project_report_relation a
 		<include refid="dailyOfficeWorkLeftColumns"/>
+		left join rural_project_records rpr on a.project_id = rpr.id
+		left join project_report_data prd on prd.project_id = a.project_id
+		left join report_signature_report rsr on a.id = rsr.signature_id and rsr.del_flag = '0'
+		left join report_signature_approval rsa on a.id = rsa.signature_id and rsa.del_flag = '0'
 		<where>
 			a.del_flag = 0
 			<if test="signatureName != null and signatureName != ''">
@@ -145,6 +157,8 @@
 		SELECT count(a.id)
 		FROM signature_project_report_relation a
 		<include refid="dailyOfficeWorkLeftColumns"/>
+		left join rural_project_records rpr on a.project_id = rpr.id
+		left join project_report_data prd on prd.project_id = a.project_id
 		<where>
 			a.del_flag = 0
 			<if test="signatureName != null and signatureName != ''">
@@ -197,9 +211,7 @@
 			project_id,
 			office_id,
 			company_id,
-			status,
-			process_instance_id
-
+			status
 			<if test="signatureContractId != null and signatureContractId != ''">
 				,signature_contract_id
 			</if>
@@ -242,9 +254,7 @@
 			#{reportSignatureRelation.projectId},
 			#{office.id},
 			#{company.id},
-			#{status},
-			#{processInstanceId}
-
+			#{status}
 			<if test="signatureContractId != null and signatureContractId != ''">
 				,#{signatureContractId}
 			</if>
@@ -319,7 +329,20 @@
 	</update>
 
 	<update id="updateProcessIdAndStatus" >
-		UPDATE  signature_project_report_relation SET
+		UPDATE  report_signature_report SET
+		update_date = now()
+		<if test="null != processInstanceId and '' != processInstanceId">
+			,process_instance_id = #{processInstanceId}
+		</if>
+		<if test="null != status and '' != status">
+			,status = #{status}
+		</if>
+		,update_date = now()
+		WHERE id = #{id}
+	</update>
+
+	<update id="updateApprovalProcessIdAndStatus" >
+		UPDATE  report_signature_approval SET
 		update_date = now()
 		<if test="null != processInstanceId and '' != processInstanceId">
 			,process_instance_id = #{processInstanceId}
@@ -396,19 +419,16 @@
 
 	<select id="getProject" resultType="com.jeeplus.modules.signature.projectReportSignatureWork.entity.ProjectReportSignatureRelation">
 		select
-		  a.signature_project_report_id as 'signatureId',
-		  a.project_id as 'projectId',
 		  rpr.project_name as 'projectName',
 		  rpr.project_id as 'projectNum',
 		  wci.name as 'workContractName',
 		  prd.number as 'reportDataNum',
 		  wct.name as 'clientName'
-		from signature_project_report_relevance_number a
-		left join rural_project_records rpr on a.project_id = rpr.id
+		from rural_project_records rpr
 		left join work_contract_info wci on rpr.contract_id = wci.id
 		left join work_client_info wct on wci.client_id = wct.id
-		left join project_report_data prd on prd.project_id = a.project_id
-		where a.signature_project_report_id = #{signatureId}
+		left join project_report_data prd on prd.project_id = rpr.id
+		where rpr.id = #{id}
 	</select>
 
 	<select id="getReportBySigId" resultType="com.jeeplus.modules.signature.projectReportSignatureWork.entity.ReportSignature">
@@ -563,4 +583,51 @@
 		delete from report_signature_report where id = #{id}
 	</delete>
 
+	<select id="getReport" resultType="com.jeeplus.modules.signature.projectReportSignatureWork.entity.ReportSignature">
+		select
+			<include refid="signatureColumns"/>,
+			spr.project_id as 'reportSignatureRelation.projectId',
+			rpr.project_name as 'reportSignatureRelation.projectName',
+			rpr.project_id as 'reportSignatureRelation.projectNum',
+			prd.number as 'reportSignatureRelation.reportDataNum',
+			rpr.submit_money as 'reportSignatureRelation.submitMoney',
+			wci.name as 'reportSignatureRelation.workContractName',
+		  	wct.name as 'reportSignatureRelation.clientName'
+		from report_signature_report a
+		<include refid="signatureJoin"/>
+		left join signature_project_report_relation spr on a.signature_id = spr.id
+		left join rural_project_records rpr on spr.project_id = rpr.id
+		left join project_report_data prd on prd.project_id = spr.project_id
+		left join work_contract_info wci on rpr.contract_id = wci.id
+		left join work_client_info wct on wci.client_id = wct.id
+		where a.id = #{id}
+	</select>
+
+	<select id="getApproval" resultType="com.jeeplus.modules.signature.projectReportSignatureWork.entity.ReportSignature">
+		select
+		<include refid="signatureColumns"/>,
+		spr.project_id as 'reportSignatureRelation.projectId',
+		rpr.project_name as 'reportSignatureRelation.projectName',
+		rpr.project_id as 'reportSignatureRelation.projectNum',
+		prd.number as 'reportSignatureRelation.reportDataNum',
+		rpr.submit_money as 'reportSignatureRelation.submitMoney',
+		wci.name as 'reportSignatureRelation.workContractName',
+		wct.name as 'reportSignatureRelation.clientName'
+		from report_signature_approval a
+		<include refid="signatureJoin"/>
+		left join signature_project_report_relation spr on a.signature_id = spr.id
+		left join rural_project_records rpr on spr.project_id = rpr.id
+		left join project_report_data prd on prd.project_id = spr.project_id
+		left join work_contract_info wci on rpr.contract_id = wci.id
+		left join work_client_info wct on wci.client_id = wct.id
+		where a.id = #{id}
+	</select>
+
+	<select id="checkProject" resultType="int">
+		select
+			count(id)
+		from signature_project_report_relation
+		where project_id = #{id} and del_flag = '0'
+	</select>
+
 </mapper>

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

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

+ 772 - 0
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkApprovalForm.jsp

@@ -0,0 +1,772 @@
+<%@ 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}/helloweba_editable-select/jquery.editable-select.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <script src="${ctxStatic}/common/html/js/script.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+    <style>
+
+        #contractTypeDoc-error{
+            top:80px;
+            left:0;
+        }
+        /*超过5个汉字,调整label的长度,以下是配套的*/
+        .layui-item .layui-form-label{
+            width:90px;
+        }
+        #projectReportSignatureRelationList td{
+            padding-left: 0px;
+            padding-right: 0px;
+        }
+    </style>
+    <script type="text/javascript">
+        var validateForm;
+        var isMasterClient = true;//是否是委托方
+        var clientCount = 0;
+        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            if(validateForm.form()){
+                if(i==2){
+                    $("#inputForm").attr("action","${ctx}/projectReport/projectReportSignature/tstoreApproval");
+                }else{
+
+                    var flag = $("#flagFile").val();
+                    if(flag == 'false'){
+                        top.layer.msg('附件信息未上传完成,请等待!', {icon: 0});
+                        return;
+                    }
+                    var length = $("#file_attachment").find("tr").length ;
+                    if(length == 0){
+                        top.layer.msg("请上传报告签章附件", {icon: 0});
+                        return;
+                    }
+                    var signatureType = $("#signatureType").val();
+                    if(signatureType == ''){
+                        top.layer.msg("请选择签章类型", {icon: 0});
+                        return;
+                    }
+                    var dutyPerson = $("#dutyPerson").val();
+                    if(dutyPerson == ''){
+                        top.layer.msg("请选择签章责任人", {icon: 0});
+                        return;
+                    }
+                    var flags=judgment();
+                    if (!flags){
+                        return flags;
+                    }
+                }
+                $("#inputForm").submit();
+                return true;
+            }else{
+                parent.layer.msg("信息未填写完整!", {icon: 5});
+            }
+            return false;
+        }
+        $(document).ready(function() {
+            layui.use(['form', 'layer'], function () {
+                var form = layui.form;
+            });
+
+            $("#attachment_btn").click(function () {
+                $("#attachment_file").click();
+            });
+            var radioVal ;
+            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);
+                    }
+                }
+            });
+
+        });
+
+        function insertTitle(tValue){
+            $("#flagFile").val(false);
+            var files = $("#attachment_file")[0].files;
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx,pdf";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
+                var attachmentId = $("#signatureId").val();
+                var attachmentFlag = "174";
+                /*console.log(file);*/
+                var timestamp=new Date().getTime();
+
+                var storeAs = "signatureProjectReportWork";
+                var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+                var divId = "_attachment";
+                $("#addFile"+divId).show();
+                multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);
+            }
+        }
+
+
+        function addFile() {
+            $("#attachment_file").click();
+        }
+
+        function addRow(list, idx, tpl, row){
+            bornTemplete(list, idx, tpl, row, idx);
+        }
+
+        function bornTemplete(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+        function delRow(obj, prefix){
+            var id = $(prefix+"_id");
+            var delFlag = $(prefix+"_delFlag");
+            $(obj).parent().parent().remove();
+        }
+
+
+
+
+
+        function addRow1(list, idx, tpl, row){
+            var idx1 = $("#projectReportSignatureRelationList tr").length;
+            if(idx1>0){
+                var count=0;
+                for (var i=1;i<=idx1;i++) {
+                    var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                    if (delFlag == "1") {
+                        count = i;
+                    }
+                }
+                if (idx1>count){
+                    var id=$("#projectReportSignatureRelationList").find("tr").eq(count).find("input").eq(5).val();
+                    if (id!=undefined && id != ''){
+                        if (row== undefined){
+                            row={"isProject": "1","isProjectFalg": "1"};
+                            layui.form.render();
+                        }
+                    }else{
+                        parent.layer.msg("请选择项目报告信息",{icon:6});
+                        layui.form.render();
+                        return false;
+                    }
+                }
+            }
+            if(list == '#projectReportSignatureRelationList'){
+                bornTemplete1(list, idx, tpl, row, idx1);
+            }
+        }
+        function bornTemplete1(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+
+        function delRow1(obj, prefix) {
+            var id = $(prefix + "_signatureId");
+            var delFlag = $(prefix + "_delFlag");
+            if (id.val() == "") {
+                $(obj).parent().parent().remove();
+            } else if (delFlag.val() == "0") {
+                delFlag.val("1");
+                $(obj).html("&divide;").attr("title", "撤回删除");
+                $(obj).parent().parent().addClass("error");
+                $(obj).parent().parent().addClass("hide");
+            } else if (delFlag.val() == "1") {
+                delFlag.val("0");
+                $(obj).html("&times;").attr("title", "删除");
+                $(obj).parent().parent().removeClass("error");
+            }
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+        }
+
+        function newSetPNumber(obj,ids,details){
+            var idx=ids.split("_")[0]
+            var idArray= new Array(); //定义一数组
+            idArray=obj.split(","); //字符分割
+
+            for (var k=0;k<idArray.length ;k++ )
+            {
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":idArray[k]
+                    },
+                    success:function(data){
+                        if(k>=1){
+                            var row = projectReportSignatureRelationListRowIdx;
+                            addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[k])
+                            projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
+                            var d = JSON.parse(data);
+                            var workContractName="#projectReportSignatureRelationList"+row+"_workContractName";
+                            var projectNum="#projectReportSignatureRelationList"+row+"_projectNum";
+                            var clientName="#projectReportSignatureRelationList"+row+"_clientName";
+                            var reportDataNum="#projectReportSignatureRelationList"+row+"_reportDataNum";
+                            var projectName="#projectReportSignatureRelationList"+row+"_projectIdName";
+                            var id="#projectReportSignatureRelationList"+row+"_projectIdId";
+                            $(id).val(d.id);
+                            $(projectName).val(d.projectName);
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }else{
+                            var d = JSON.parse(data);
+                            var workContractName="#"+idx+"_workContractName";
+                            var projectNum="#"+idx+"_projectNum";
+                            var clientName="#"+idx+"_clientName";
+                            var reportDataNum="#"+idx+"_reportDataNum";
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }
+                    }
+                })
+            }
+
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+
+        }
+
+        function setProjectValue(obj){
+            console.log('obj',obj)
+            var pro = false
+            $.ajax({
+                async:false,
+                type:'post',
+                url:'${ctx}/projectReport/projectReportSignature/checkProject',
+                data:{
+                    "obj":obj
+                },
+                success:function(data){
+                    pro = data
+                }
+
+            })
+            if (pro){
+                parent.layer.msg("项目已经存在列表中,无法添加",{icon:6});
+                layui.form.render();
+            }else {
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val(d.id);
+                        $("#projectName").val(d.projectName);
+                        $("#workContractName").val(d.workContractName);
+                        $("#projectNum").val(d.projectNum);
+                        $("#clientName").val(d.clientName);
+                        $("#reportDataNum").val(d.reportDataNum);
+                        var areaId = $("#areaId").val();
+                        if(undefined ==areaId || null == areaId || '' == areaId){
+                            $("#areaId").val(d.areaId);
+                            $("#areaName").val(d.areaName);
+                        }
+
+                    }
+                })
+            }
+
+
+            }
+
+
+
+
+    </script>
+</head>
+<body>
+<div class="single-form">
+    <div class="container">
+        <sys:message content="${message}"/>
+        <form:form id="inputForm" modelAttribute="projectReportSignature" action="${ctx}/projectReport/projectReportSignature/saveApproval" method="post" class="form-horizontal layui-form ">
+            <form:hidden path="id"/>
+            <form:hidden path="signatureId"/>
+            <input type="hidden" id="flagFile" value="">
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>签章项目信息</h2></div>
+                <div id="divv">
+                    <div class="layui-item layui-col-sm6 lw7" id="d1">
+                        <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+                        <div class="layui-input-block  with-icon">
+<%--                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"--%>
+<%--                                                    cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>--%>
+                            <input  htmlEscape="false"  readonly="true" id="projectName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectName}"/>
+                            <input  htmlEscape="false"  readonly="true" type="hidden" id="projectId"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectId}"/>
+
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">报告号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同名称:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">项目编号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+                        </div>
+                    </div>
+                </div>
+<%--                <div class="layui-item nav-btns">--%>
+<%--                    <a class="nav-btn nav-btn-add" onclick="addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl);projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;" title="新增"><i class="fa fa-plus"></i>&nbsp;新增</a>--%>
+<%--                </div>--%>
+<%--                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+<%--                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+<%--                        <thead>--%>
+<%--                        <tr>--%>
+<%--                            <th width="200px"><font color="red">*</font>项目名称</th>--%>
+<%--                            <th width="200px">报告号</th>--%>
+<%--                            <th width="200px">合同名称</th>--%>
+<%--                            <th width="200px">项目编号</th>--%>
+<%--                            <th width="200px">委托方</th>--%>
+<%--                            <th width="100px">操作</th>--%>
+<%--                        </tr>--%>
+<%--                        </thead>--%>
+<%--                        <tbody id="projectReportSignatureRelationList">--%>
+<%--                        </tbody>--%>
+<%--                    </table>--%>
+<%--                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+<%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+<%--                        <td class="hide">--%>
+<%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--                            <sys:gridselectprojectsignatures url="${ctx}/projectReport/projectReportSignature/getProjectReportList" id="projectReportSignatureRelationList{{idx}}_projectId" name="projectReportSignatureRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="projectReportSignatureRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"--%>
+<%--													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectprojectsignatures>--%>
+<%--&lt;%&ndash;                        </td>&ndash;%&gt;--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td style="text-align:center;">--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td class="text-center op-td" >--%>
+<%--                            {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow1(this, '#projectReportSignatureRelationList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}--%>
+<%--                        </td>--%>
+<%--                    </tr>//-->--%>
+<%--                    </script>--%>
+<%--                    <script type="text/javascript">--%>
+<%--                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+<%--                        /*if($("#id").val()){--%>
+<%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--						}*/--%>
+<%--                        $(document).ready(function() {--%>
+<%--                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--                            console.log(data)--%>
+<%--                            for (var i=0; i<data.length; i++){--%>
+<%--                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+<%--                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+<%--                            }--%>
+<%--                        });--%>
+<%--                    </script>--%>
+<%--                </div>--%>
+
+            </div>
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>签章基础信息</h2></div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">签章描述:</label>
+                    <div class="layui-input-block">
+                        <form:input path="signatureName" id="signatureName" maxlength="255" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input"/>
+                    </div>
+                </div>
+<%--                <div class="layui-item layui-col-sm6 lw7">--%>
+<%--                    <label class="layui-form-label">签章编号:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div class="input-group">--%>
+<%--                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+<%--                            &lt;%&ndash;<span class="input-group-btn">--%>
+<%--                                <label class="form-status"><c:choose><c:when test="${not empty projectReportSignature.status}">${fns:getDictLabel(projectReportSignature.status, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>--%>
+<%--                             </span>&ndash;%&gt;--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </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 readOnlyFFF">
+                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
+                            <form:option value=""/>
+                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+                        </form:select>
+                    </div>
+                </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 readOnlyFFF">
+                        <select class="form-control judgment layui-input" id="dutyPerson" name="dutyPerson">
+                            <option value=""/>
+                            <c:forEach items="${dutyPersonList}" var="user">
+                                <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+                            </c:forEach>
+                        </select>
+                    </div>
+                </div>
+
+
+
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建人:</label>
+                    <div class="layui-input-block">
+                        <form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
+                        <form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">所属部门:</label>
+                    <div class="layui-input-block">
+                        <form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建日期:</label>
+                    <div class="layui-input-block">
+                        <input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${projectReportSignature.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
+                    </div>
+                </div>
+
+                <div class="layui-item layui-col-sm12 lw7 with-textarea">
+                    <label class="layui-form-label ">备注:</label>
+                    <div class="layui-input-block">
+                        <form:textarea placeholder="请输入备注" path="remarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
+                    </div>
+                </div>
+            </div>
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2><span class="require-item">*</span>签章附件信息<span style="color: red">(仅可上传doc、docx、pdf类型文档)</span></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>
+                </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="upTable" 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="${projectReportSignature.workAttachments}" var="workClientAttachment"
+                                   varStatus="status">
+                            <tr>
+                                    <%-- <td>${status.index + 1}</td>--%>
+                                <c:choose>
+                                    <c:when test="${projectReportSignature.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="${projectReportSignature.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="${projectReportSignature.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.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')"
+                                               class="op-btn op-btn-delete"><i class="fa fa-trash"></i>&nbsp;删除</a>
+                                        </c:if>
+                                        <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 layui-btn-warm" >&nbsp;收藏</a>
+                                        </c:if>
+                                    </div>
+                                </td>
+                            </tr>
+                        </c:forEach>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+
+            <div class="form-group layui-row page-end"></div>
+        </form:form>
+    </div>
+</div>
+<script>
+    $(document).ready(function() {
+        layui.use(['form', 'layer'], function () {
+            var form = layui.form;
+            layui.form.on('select(dutyPersonFilter)', function(data){
+                console.log(data.value); //得到被选中的值
+                var duty = data.value
+
+               var res= $("#dutyPerson").val()
+                console.log(res);
+            });
+        });
+
+    });
+
+</script>
+</body>
+</html>

+ 116 - 71
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkAudit.jsp

@@ -15,15 +15,15 @@
 		var validateForm;
 		function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
 			if(validateForm.form()){
-				var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
-				$("#opinion").val(ss);
+				// var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
+				// $("#opinion").val(ss);
 				if(obj == 1) {
-
-					var auditFlag = $("#auditFlag").val();
-					if(auditFlag != 1){
-						top.layer.msg('报告签章未审核完成,请审核后点击同意', {icon: 0});
-						return false;
-					}
+				//
+				// 	var auditFlag = $("#auditFlag").val();
+				// 	if(auditFlag != 1){
+				// 		top.layer.msg('报告签章未审核完成,请审核后点击同意', {icon: 0});
+				// 		return false;
+				// 	}
 					$("#flag").val("yes");
 				}else {
 					if(obj == 2){
@@ -316,59 +316,93 @@
 
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>签章项目信息</h2></div>
-				<div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">
-					<table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">
-						<thead>
-						<tr>
-							<th width="200px"><font color="red">*</font>项目名称</th>
-							<th width="200px">报告号</th>
-							<th width="200px">合同名称</th>
-							<th width="200px">项目编号</th>
-							<th width="200px">委托方</th>
-						</tr>
-						</thead>
-						<tbody id="projectReportSignatureRelationList">
-						</tbody>
-					</table>
-					<script type="text/template" id="projectReportSignatureRelationListTpl">//<!--
-                    <tr id="projectReportSignatureRelationList{{idx}}">
-                        <td class="hide">
-                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>
-							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td style="text-align:center;">
-							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>
-                        </td>、
-                    </tr>//-->
-					</script>
-					<script type="text/javascript">
-						var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
-						/*if($("#id").val()){
-                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};
-						}*/
-						$(document).ready(function() {
-							var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};
-							console.log(data)
-							for (var i=0; i<data.length; i++){
-								addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])
-								projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
-							}
-						});
-					</script>
+				<div id="divv">
+					<div class="layui-item layui-col-sm6 lw7" id="d1">
+						<label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+						<div class="layui-input-block  with-icon">
+							<sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
+															cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
+
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">报告号:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">合同名称:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">项目编号:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">委托方:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+						</div>
+					</div>
 				</div>
+<%--				<div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+<%--					<table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+<%--						<thead>--%>
+<%--						<tr>--%>
+<%--							<th width="200px"><font color="red">*</font>项目名称</th>--%>
+<%--							<th width="200px">报告号</th>--%>
+<%--							<th width="200px">合同名称</th>--%>
+<%--							<th width="200px">项目编号</th>--%>
+<%--							<th width="200px">委托方</th>--%>
+<%--						</tr>--%>
+<%--						</thead>--%>
+<%--						<tbody id="projectReportSignatureRelationList">--%>
+<%--						</tbody>--%>
+<%--					</table>--%>
+<%--					<script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+<%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+<%--                        <td class="hide">--%>
+<%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td style="text-align:center;">--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>、--%>
+<%--                    </tr>//-->--%>
+<%--					</script>--%>
+<%--					<script type="text/javascript">--%>
+<%--						var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+<%--						/*if($("#id").val()){--%>
+<%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--						}*/--%>
+<%--						$(document).ready(function() {--%>
+<%--							var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--							console.log(data)--%>
+<%--							for (var i=0; i<data.length; i++){--%>
+<%--								addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+<%--								projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+<%--							}--%>
+<%--						});--%>
+<%--					</script>--%>
+<%--				</div>--%>
 
 			</div>
 
@@ -380,14 +414,14 @@
 						<input htmlEscape="false"  readonly="true" class="form-control layui-input" style="background-color: #f1f1f1" value="${projectReportSignature.signatureName}"/>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">签章编号:</label>
-					<div class="layui-input-block">
-						<div class="input-group">
-							<form:input path="number" htmlEscape="false"  readonly="true" class="form-control layui-input" cssStyle="background-color: #f1f1f1"/>
-						</div>
-					</div>
-				</div>
+<%--				<div class="layui-item layui-col-sm6 lw7">--%>
+<%--					<label class="layui-form-label">签章编号:</label>--%>
+<%--					<div class="layui-input-block">--%>
+<%--						<div class="input-group">--%>
+<%--							<form:input path="number" htmlEscape="false"  readonly="true" class="form-control layui-input" cssStyle="background-color: #f1f1f1"/>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</div>--%>
 
 				<div class="layui-item layui-col-sm6 lw7">
 					<label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
@@ -398,6 +432,17 @@
 						</form:select>
 					</div>
 				</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 readOnlyFFF">
+						<select class="form-control judgment layui-input" id="dutyPerson" disabled="true" name="dutyPerson">
+							<option value=""/>
+							<c:forEach items="${dutyPersonList}" var="user">
+								<option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+							</c:forEach>
+						</select>
+					</div>
+				</div>
 
 				<div class="layui-item layui-col-sm6 lw7">
 					<label class="layui-form-label">创建人:</label>
@@ -430,9 +475,9 @@
 
 
 			<div class="form-group layui-row">
-				<c:if test="${auditFlag != 1}">
-					<div style="float: right"> <a id="approvaButton" href=javascript:void(0);  onclick="getManualSignatureUrl('${projectReportSignature.id}')" class="layui-btn layui-btn-sm" >签章审核</a></div>
-				</c:if>
+<%--				<c:if test="${auditFlag != 1}">--%>
+<%--					<div style="float: right"> <a id="approvaButton" href=javascript:void(0);  onclick="getManualSignatureUrl('${projectReportSignature.id}')" class="layui-btn layui-btn-sm" >签章审核</a></div>--%>
+<%--				</c:if>--%>
 				<div class="form-group-label"><h2>签章申请附件信息</h2></div>
 				<div class="layui-item layui-col-xs12" style="padding:0 16px;">
 					<table id="listAttachment" class="table table-bordered table-condensed details">

+ 650 - 0
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkAuditApproval.jsp

@@ -0,0 +1,650 @@
+<%@ 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}/helloweba_editable-select/jquery.editable-select.min.js"></script>
+	<script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
+	<script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+	<script src="${ctxStatic}/common/html/js/script.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+
+	<script type="text/javascript">
+		var validateForm;
+		function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+			if(validateForm.form()){
+				// var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
+				// $("#opinion").val(ss);
+				if(obj == 1) {
+				//
+				// 	var auditFlag = $("#auditFlag").val();
+				// 	if(auditFlag != 1){
+				// 		top.layer.msg('报告签章未审核完成,请审核后点击同意', {icon: 0});
+				// 		return false;
+				// 	}
+					$("#flag").val("yes");
+				}else {
+					if(obj == 2){
+						$("#flag").val("no1");
+					}else {
+						$("#flag").val("no2");
+					}
+				}
+				$("#inputForm").submit();
+				return true;
+			}
+			return false;
+		}
+		$(document).ready(function() {
+
+			layui.use(['form', 'layer'], function () {
+				var form = layui.form;
+			});
+
+			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);
+					}
+				}
+			});
+		});
+
+		function insertTitle(tValue){
+			var files = $("#attachment_file")[0].files;
+			for(var i = 0;i<files.length;i++) {
+				var file = files[i];
+				var attachmentId = $("#id").val();
+				var attachmentFlag = "173";
+				console.log(file);
+				var timestamp=new Date().getTime();
+
+				var storeAs = "signatureProjectReportWork";
+				var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+				var divId = "_attachment";
+				$("#addFile"+divId).show();
+				multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);
+			}
+		}
+
+		function addFile() {
+			$("#attachment_file").click();
+		}
+
+		function addRow(list, idx, tpl, row){
+			bornTemplete(list, idx, tpl, row, idx);
+		}
+
+		function bornTemplete(list, idx, tpl, row, idx1){
+			$(list).append(Mustache.render(tpl, {
+				idx: idx, delBtn: true, row: row,
+				order:idx1 + 1
+			}));
+			$(list+idx).find("select").each(function(){
+				$(this).val($(this).attr("data-value"));
+			});
+			$(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+				var ss = $(this).attr("data-value").split(',');
+				for (var i=0; i<ss.length; i++){
+					if($(this).val() == ss[i]){
+						$(this).attr("checked","checked");
+					}
+				}
+			});
+		}
+
+		//跳转签章页面
+		function getManualSignatureUrl(id){
+			$.ajax({
+				type:"post",
+				url:'${ctx}/projectReport/projectReportSignature/getSignatureUrl',
+				data:{"id": id},
+				dataType:"json",
+				success:function(data){
+					if(data.success) {
+						window.open(data.contractUrl);
+						//对审核结果进行查询(定时任务。每3秒进行一次查询)
+						var interVal = setInterval(function (){
+									$.ajax({
+										type:"post",
+										url:'${ctx}/projectReport/projectReportSignature/getSignatureStatus',
+										data:{"id": id},
+										dataType:"json",
+										success:function(data){
+											if(data.success) {
+												//签章按钮隐藏
+												$("#approvaButton").css("display","none");
+												//设置可以审核操作
+												$("#auditFlag").val(1)
+												clearInterval(interVal)
+												top.layer.msg('签章已完成,请点击审核通过或驳回!', {icon: 1});
+											}
+										}
+									})
+								}
+								,3000)
+					}else {
+						top.layer.msg("签章失败!", {icon: 0});
+					}
+				}
+			})
+			return;
+		}
+
+
+
+		function addRow1(list, idx, tpl, row){
+			var idx1 = $("#projectReportSignatureRelationList tr").length;
+			if(idx1>0){
+				var count=0;
+				for (var i=1;i<=idx1;i++) {
+					var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+					if (delFlag == "1") {
+						count = i;
+					}
+				}
+				if (idx1>count){
+					var id=$("#projectReportSignatureRelationList").find("tr").eq(count).find("input").eq(5).val();
+					if (id!=undefined && id != ''){
+						if (row== undefined){
+							row={"isProject": "1","isProjectFalg": "1"};
+							layui.form.render();
+						}
+					}else{
+						parent.layer.msg("请选择项目报告信息",{icon:6});
+						layui.form.render();
+						return false;
+					}
+				}
+			}
+			if(list == '#projectReportSignatureRelationList'){
+				bornTemplete1(list, idx, tpl, row, idx1);
+			}
+		}
+		function bornTemplete1(list, idx, tpl, row, idx1){
+			$(list).append(Mustache.render(tpl, {
+				idx: idx, delBtn: true, row: row,
+				order:idx1 + 1
+			}));
+			$(list+idx).find("select").each(function(){
+				$(this).val($(this).attr("data-value"));
+			});
+			$(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+				var ss = $(this).attr("data-value").split(',');
+				for (var i=0; i<ss.length; i++){
+					if($(this).val() == ss[i]){
+						$(this).attr("checked","checked");
+					}
+				}
+			});
+		}
+
+		function delRow1(obj, prefix) {
+			var id = $(prefix + "_signatureId");
+			var delFlag = $(prefix + "_delFlag");
+			if (id.val() == "") {
+				$(obj).parent().parent().remove();
+			} else if (delFlag.val() == "0") {
+				delFlag.val("1");
+				$(obj).html("&divide;").attr("title", "撤回删除");
+				$(obj).parent().parent().addClass("error");
+				$(obj).parent().parent().addClass("hide");
+			} else if (delFlag.val() == "1") {
+				delFlag.val("0");
+				$(obj).html("&times;").attr("title", "删除");
+				$(obj).parent().parent().removeClass("error");
+			}
+			var length=$("#projectReportSignatureRelationList tr").length;
+			var count=length;
+			for (var i=1;i<=length;i++) {
+				var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+				if (delFlag == "1") {
+					count =count-1;
+				}
+			}
+			if(count==1){
+				layui.form.render();
+			}else if (count>1){
+				layui.form.render();
+			}else if(count == 0){
+				$("#projectFlag").val("");
+			}
+		}
+
+		function newSetPNumber(obj,ids,details){
+			var idx=ids.split("_")[0]
+			var idArray= new Array(); //定义一数组
+			idArray=obj.split(","); //字符分割
+
+			for (var k=0;k<idArray.length ;k++ )
+			{
+				$.ajax({
+					async:false,
+					type:'post',
+					url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+					data:{
+						"obj":idArray[k]
+					},
+					success:function(data){
+						if(k>=1){
+							var row = projectReportSignatureRelationListRowIdx;
+							addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[k])
+							projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
+							var d = JSON.parse(data);
+							var workContractName="#projectReportSignatureRelationList"+row+"_workContractName";
+							var projectNum="#projectReportSignatureRelationList"+row+"_projectNum";
+							var clientName="#projectReportSignatureRelationList"+row+"_clientName";
+							var reportDataNum="#projectReportSignatureRelationList"+row+"_reportDataNum";
+							var projectName="#projectReportSignatureRelationList"+row+"_projectIdName";
+							var id="#projectReportSignatureRelationList"+row+"_projectIdId";
+							$(id).val(d.id);
+							$(projectName).val(d.projectName);
+							$(workContractName).val(d.workContractName);
+							$(projectNum).val(d.projectNum);
+							$(clientName).val(d.clientName);
+							$(reportDataNum).val(d.reportDataNum);
+							var areaId = $("#areaId").val();
+							if(undefined ==areaId || null == areaId || '' == areaId){
+								$("#areaId").val(d.areaId);
+								$("#areaName").val(d.areaName);
+							}
+						}else{
+							var d = JSON.parse(data);
+							var workContractName="#"+idx+"_workContractName";
+							var projectNum="#"+idx+"_projectNum";
+							var clientName="#"+idx+"_clientName";
+							var reportDataNum="#"+idx+"_reportDataNum";
+							$(workContractName).val(d.workContractName);
+							$(projectNum).val(d.projectNum);
+							$(clientName).val(d.clientName);
+							$(reportDataNum).val(d.reportDataNum);
+							var areaId = $("#areaId").val();
+							if(undefined ==areaId || null == areaId || '' == areaId){
+								$("#areaId").val(d.areaId);
+								$("#areaName").val(d.areaName);
+							}
+						}
+					}
+				})
+			}
+
+			var length=$("#projectReportSignatureRelationList tr").length;
+			var count=length;
+			for (var i=1;i<=length;i++) {
+				var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+				if (delFlag == "1") {
+					count =count-1;
+				}
+			}
+			if(count==1){
+				layui.form.render();
+			}else if (count>1){
+				layui.form.render();
+			}else if(count == 0){
+				$("#projectFlag").val("");
+			}
+
+		}
+	</script>
+</head>
+<body >
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="projectReportSignature" enctype="multipart/form-data" action="${ctx}/projectReport/projectReportSignature/saveAuditApproval" method="post" class="form-horizontal layui-form">
+			<form:hidden path="id"/>
+			<form:hidden path="home"/>
+			<form:hidden path="act.taskId"/>
+			<form:hidden path="act.taskName"/>
+			<form:hidden id="taskDefKey" path="act.taskDefKey"/>
+			<form:hidden path="act.procInsId"/>
+			<form:hidden path="act.procDefId"/>
+			<form:hidden path="processInstanceId"/>
+			<form:hidden id="flag" path="act.flag"/>
+			<input type="hidden" id="opinion" name="act.comment" value="" maxlength="255">
+			<input type="hidden" id="auditFlag" name="auditFlag" value="${auditFlag}">
+			<c:set var="status" value="${projectReportSignature.act.status}" />
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>签章项目信息</h2></div>
+				<div id="divv">
+					<div class="layui-item layui-col-sm6 lw7" id="d1">
+						<label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+						<div class="layui-input-block  with-icon">
+							<sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
+															cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
+
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">报告号:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">合同名称:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">项目编号:</label>
+						<div class="layui-input-block">
+							<input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label">委托方:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+						</div>
+					</div>
+				</div>
+<%--				<div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+<%--					<table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+<%--						<thead>--%>
+<%--						<tr>--%>
+<%--							<th width="200px"><font color="red">*</font>项目名称</th>--%>
+<%--							<th width="200px">报告号</th>--%>
+<%--							<th width="200px">合同名称</th>--%>
+<%--							<th width="200px">项目编号</th>--%>
+<%--							<th width="200px">委托方</th>--%>
+<%--						</tr>--%>
+<%--						</thead>--%>
+<%--						<tbody id="projectReportSignatureRelationList">--%>
+<%--						</tbody>--%>
+<%--					</table>--%>
+<%--					<script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+<%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+<%--                        <td class="hide">--%>
+<%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td style="text-align:center;">--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>、--%>
+<%--                    </tr>//-->--%>
+<%--					</script>--%>
+<%--					<script type="text/javascript">--%>
+<%--						var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+<%--						/*if($("#id").val()){--%>
+<%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--						}*/--%>
+<%--						$(document).ready(function() {--%>
+<%--							var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--							console.log(data)--%>
+<%--							for (var i=0; i<data.length; i++){--%>
+<%--								addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+<%--								projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+<%--							}--%>
+<%--						});--%>
+<%--					</script>--%>
+<%--				</div>--%>
+
+			</div>
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>签章基础信息</h2></div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">签章描述:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" style="background-color: #f1f1f1" value="${projectReportSignature.signatureName}"/>
+					</div>
+				</div>
+<%--				<div class="layui-item layui-col-sm6 lw7">--%>
+<%--					<label class="layui-form-label">签章编号:</label>--%>
+<%--					<div class="layui-input-block">--%>
+<%--						<div class="input-group">--%>
+<%--							<form:input path="number" htmlEscape="false"  readonly="true" class="form-control layui-input" cssStyle="background-color: #f1f1f1"/>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</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 readOnlyFFF">
+						<form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" id="signatureType" disabled="true"  readonly="true" value="${projectReportSignature.signatureType}">
+							<form:option value=""/>
+							<form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+						</form:select>
+					</div>
+				</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 readOnlyFFF">
+						<select class="form-control judgment layui-input" id="dutyPerson" disabled="true" name="dutyPerson">
+							<option value=""/>
+							<c:forEach items="${dutyPersonList}" var="user">
+								<option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+							</c:forEach>
+						</select>
+					</div>
+				</div>
+
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">创建人:</label>
+					<div class="layui-input-block">
+						<form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
+						<form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">所属部门:</label>
+					<div class="layui-input-block">
+						<form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">创建日期:</label>
+					<div class="layui-input-block">
+						<input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${projectReportSignature.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
+					</div>
+				</div>
+
+
+				<div class="layui-item layui-col-sm12 lw7 with-textarea">
+					<label class="layui-form-label">备注:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000"  style="background-color: #f1f1f1" class="form-control" >${projectReportSignature.remarks}</textarea>
+					</div>
+				</div>
+			</div>
+
+
+			<div class="form-group layui-row">
+<%--				<c:if test="${auditFlag != 1}">--%>
+<%--					<div style="float: right"> <a id="approvaButton" href=javascript:void(0);  onclick="getManualSignatureUrl('${projectReportSignature.id}')" class="layui-btn layui-btn-sm" >签章审核</a></div>--%>
+<%--				</c:if>--%>
+				<div class="form-group-label"><h2>签章申请附件信息</h2></div>
+				<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="180px">操作</th>
+						</tr>
+						</thead>
+						<tbody id="file_attachment">
+						<c:forEach items="${projectReportSignature.workAttachments}" var = "workClientAttachment" varStatus="status">
+							<tr>
+									<%-- <td>${status.index + 1}</td>--%>
+								<c:choose>
+									<c:when test="${projectReportSignature.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="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%','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="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+													</c:when>
+													<c:otherwise>
+														<c:choose>
+															<c:when test="${workReimbursement.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" >
+										<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: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 class="form-group-label">
+			<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('个人模板列表', '${ctx}/auditTemplate/auditTemplate/templateList?identification=${signatureProjectReportWork}&name=${identificationName}','80%', '70%','','关闭')" class="nav-btn layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 审核意见模板列表</a></div>
+			<h2>审批意见</h2>
+		</div>
+		<iframe id="iframe" src="${ctx}/auditTemplate/auditTemplate/iframeView?identification=${signatureProjectReportWork}" name="listresult" frameborder="0" align="left" width="100%" height="300" scrolling="value"></iframe>
+		<div class="form-group layui-row">
+			<div class="form-group-label"><h2>${projectNotifyType}审批流程</h2></div>
+			<div class="layui-item layui-col-xs12 form-table-container" >
+				<act:flowChart procInsId="${processInstanceId}"/>
+				<act:histoicFlow procInsId="${processInstanceId}"/>
+			</div>
+		</div>
+	</div>
+</div>
+</body>
+</html>

+ 101 - 12
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkForm.jsp

@@ -31,6 +31,7 @@
         var isMasterClient = true;//是否是委托方
         var clientCount = 0;
         function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            console.log(i)
             if(validateForm.form()){
                 if(i==2){
                     $("#inputForm").attr("action","${ctx}/projectReport/projectReportSignature/tstore");
@@ -46,6 +47,16 @@
                         top.layer.msg("请上传报告签章附件", {icon: 0});
                         return;
                     }
+                    var signatureType = $("#signatureType").val();
+                    if(signatureType == ''){
+                        top.layer.msg("请选择签章类型", {icon: 0});
+                        return;
+                    }
+                    var dutyPerson = $("#dutyPerson").val();
+                    if(dutyPerson == ''){
+                        top.layer.msg("请选择签章责任人", {icon: 0});
+                        return;
+                    }
                     var flags=judgment();
                     if (!flags){
                         return flags;
@@ -313,14 +324,53 @@
 
         function setProjectValue(obj){
             console.log('obj',obj)
+            var pro = false
             $.ajax({
                 async:false,
                 type:'post',
-                url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                url:'${ctx}/projectReport/projectReportSignature/checkProject',
                 data:{
                     "obj":obj
                 },
                 success:function(data){
+                    pro = data
+                }
+
+            })
+            if (pro){
+                parent.layer.msg("项目已经存在列表中,无法添加",{icon:6});
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val('');
+                        $("#projectName").val('');
+                        $("#workContractName").val('');
+                        $("#projectNum").val('');
+                        $("#clientName").val('');
+                        $("#reportDataNum").val('');
+                        // var areaId = $("#areaId").val();
+                        // if(undefined ==areaId || null == areaId || '' == areaId){
+                        //     $("#areaId").val(d.areaId);
+                        //     $("#areaName").val(d.areaName);
+                        // }
+
+                    }
+                })
+            }else{
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
                         var d = JSON.parse(data);
                         $("#projectId").val(d.id);
                         $("#projectName").val(d.projectName);
@@ -334,11 +384,33 @@
                             $("#areaName").val(d.areaName);
                         }
 
-                }
-            })
+                    }
+                })
+            }
+
             }
 
+        function checkType() {
+            var id = $("#id").val()
+            var sigType = $("#signatureType").val()
+            console.log('id',id)
+            console.log('type',sigType)
+            $.ajax({
+                async:false,
+                type:'post',
+                url:'${ctx}/projectReport/projectReportSignature/checkType',
+                data:{
+                    "id":id,
+                    "signatureType":sigType
+                },
+                success:function(data){
+                    if(data){
+                        parent.layer.msg("该签章类型已经存在",{icon:6});
+                    }
+                }
+            })
 
+        }
 
 
     </script>
@@ -356,11 +428,20 @@
                 <div id="divv">
                     <div class="layui-item layui-col-sm6 lw7" id="d1">
                         <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
-                        <div class="layui-input-block  with-icon">
-                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
-                                                    cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
-
+                        <c:if test="${projectReportSignature.reportSignatureRelation == null}">
+                            <div class="layui-input-block  with-icon">
+                                <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
+                                                                cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
+
+                            </div>
+                        </c:if>
+                        <c:if test="${projectReportSignature.reportSignatureRelation != null}">
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectName}"/>
+                            <input  htmlEscape="false"  readonly="true" type="hidden" id="projectId"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectId}"/>
                         </div>
+                         </c:if>
+
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
                         <label class="layui-form-label">报告号:</label>
@@ -474,16 +555,24 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
                     <div class="layui-input-block readOnlyFFF">
-                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
-                            <form:option value=""/>
-                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
-                        </form:select>
+<%--                        <c:if test="${projectReportSignature.signatureType == null}">--%>
+                            <form:select placeholder="请选择" path="signatureType" onchange="checkType()" class="form-control required judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
+                                <form:option value=""/>
+                                <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+                            </form:select>
+<%--                        </c:if>--%>
+<%--                        <c:if test="${projectReportSignature.signatureType != null}">--%>
+<%--                            <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" disabled="true" id="signatureType" value="${projectReportSignature.signatureType}">--%>
+<%--                                <form:option value=""/>--%>
+<%--                                <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
+<%--                            </form:select>--%>
+<%--                        </c:if>--%>
                     </div>
                 </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 readOnlyFFF">
-                        <select class="form-control judgment layui-input" id="dutyPerson" name="dutyPerson">
+                        <select class="form-control judgment required layui-input" id="dutyPerson" name="dutyPerson">
                             <option value=""/>
                             <c:forEach items="${dutyPersonList}" var="user">
                                 <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>

+ 87 - 21
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList.jsp

@@ -360,40 +360,53 @@
             ,cols: [[
                 /*{checkbox: true, fixed: true},*/
                 {field:'index',align:'center', title: '序号',width:60}
-                ,{field:'number',align:'center', title: '签章编号',  width:160}
-                ,{field:'signatureName',align:'center', title: '签章描述',minWidth:200,templet:function(d){
-                        return "<a class=\"attention-info\" title=\"" + d.signatureName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看签章申请', '${ctx}/projectReport/projectReportSignature/view?id=" + d.id +"','95%', '95%')\">" + d.signatureName + "</a>";
+                // ,{field:'projectNum',align:'center', title: '项目编号',  width:160}
+                ,{field:'projectNum',align:'center', title: '项目编号',minWidth:200,templet:function(d){
+                        return "<a class=\"attention-info\" title=\"" + '签章信息' + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看签章申请', '${ctx}/projectReport/projectReportSignature/view?id=" + d.id +"','95%', '95%')\">" + d.projectNum + "</a>";
                     }}
                 ,{field:'projectName',align:'center', title: '签章项目',  minWidth:200,templet:function(d){
-                        return "<a class=\"attention-info\" title=\"" + d.projectName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/projectReport/projectReportSignature/projectview?id=" + d.id +"','95%', '95%')\">" + d.projectName + "</a>";
-                    }}
-                ,{field:'signatureType',align:'center', title: '签章类型',  width:120}
+                        var xml="";
+                        xml+="<a class=\"attention-info pid\" title=\"" + d.projectName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/ruralProject/ruralProjectView/view?id=" + d.projectId +"','95%', '95%')\">"
+                        xml+=d.projectName
+                        xml+="</a>";
+                        return xml;                    }}
+                ,{field:'reportDataNum',align:'center', title: '报告号',  width:200}
+                ,{field:'submitMoney',align:'center', title: '项目等级',  width:120}
                 ,{field:'createName', align:'center',title: '签章人', width:100,templet:function(d){
                         return "<span title=\"" + d.createName + "\">" + d.createName + "</span>";
                     }}
                 ,{field:'createDate',align:'center', title: '创建日期',  width:100}
-                ,{align:'center', title: '状态',  width:100,templet:function(d){
-                        var st = getruralProjectState(d.status);
+                ,{align:'center', title: '报告签章状态',  width:100,templet:function(d){
+                        var st = getSignatureState(d.reportStatus);
+                        if(st.action)
+                            var xml ="<span onclick=\"openDialogView('流程追踪', '${ctx}/projectReport/projectReportSignature/getProcess?reportId=" + d.reportId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                        else
+                            var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                        return xml;
+                    }}
+                ,{align:'center', title: '审定单签章状态',  width:100,templet:function(d){
+                        var st = getSignatureState(d.approvalStatus);
                         if(st.action)
-                            var xml ="<span onclick=\"openDialogView('流程追踪', '${ctx}/projectReport/projectReportSignature/getProcess?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                            var xml ="<span onclick=\"openDialogView('流程追踪', '${ctx}/projectReport/projectReportSignature/getApprovalProcess?approvalId=" + d.approvalId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         else
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",width:240,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",width:160,templet:function(d){
                         ////对操作进行初始化
                         var xml="<div class=\"layui-btn-group\">";
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('修改签章申请', '${ctx}/projectReport/projectReportSignature/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
+                            xml+="<a href=\"#\" onclick=\"openDialogre('修改报告签章申请', '${ctx}/projectReport/projectReportSignature/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章</a>";
                         }
+
                         if(d.canedit2 != undefined && d.canedit2 =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整签章申请', '${ctx}/projectReport/projectReportSignature/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
+                            xml+="<a href=\"#\" onclick=\"openDialogre('调整报告签章申请', '${ctx}/projectReport/projectReportSignature/modify?id=" + d.reportId + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章</a>";
                         }
                         if(d.canrecall != undefined && d.canrecall =="1")
                         {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整签章申请', '${ctx}/projectReport/projectReportSignature/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
+                            xml+="<a href=\"#\" onclick=\"openDialogre('调整报告签章申请', '${ctx}/projectReport/projectReportSignature/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章</a>";
                         }
                         if(d.candel != undefined && d.candel =="1")
                         {
@@ -401,10 +414,34 @@
                         }
                         if(d.cancancel != undefined && d.cancancel =="1")
                         {
-                            xml+="<a href=\"${ctx}/projectReport/projectReportSignature/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "&status="+d.status+"\" onclick=\"return confirmx('确认要撤回该签章申请审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 撤回</a>";
+                            xml+="<a href=\"${ctx}/projectReport/projectReportSignature/revoke?id=" + d.reportId + "&processInstanceId=" + d.reportProcInsId + "&status="+d.reportStatus+"\" onclick=\"return confirmx('确认要撤回该报告签章申请审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 撤回报告签章</a>";
+                        }
+                        if(d.approvalCancancel2 != undefined && d.approvalCancancel2 =="1")
+                        {
+                            xml+="<a href=\"#\" onclick=\"openDialogre('报告签章申请', '${ctx}/projectReport/projectReportSignature/reportForm?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 报告签章</a>";
                         }
 
+                        if(d.approvalCanedit1 != undefined && d.approvalCanedit1 =="1")
+                        {
+                            xml+="<a href=\"#\" onclick=\"openDialogre('修改审定单签章申请', '${ctx}/projectReport/projectReportSignature/approvalForm?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章</a>";
+                        }
+                        if(d.approvalCancancel1 != undefined && d.approvalCancancel1 =="1")
+                        {
+                            xml+="<a href=\"#\" onclick=\"openDialogre('审定单签章申请', '${ctx}/projectReport/projectReportSignature/approvalForm?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 审定单签章</a>";
+                        }
 
+                        if(d.approvalCanedit2 != undefined && d.approvalCanedit2 =="1")
+                        {
+                            xml+="<a href=\"#\" onclick=\"openDialogre('调整审定单签章申请', '${ctx}/projectReport/projectReportSignature/modifyApproval?id=" + d.approvalId + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章</a>";
+                        }
+                        if(d.approvalCanrecall != undefined && d.approvalCanrecall =="1")
+                        {
+                            xml+="<a href=\"#\" onclick=\"openDialogre('调整审定单签章申请', '${ctx}/projectReport/projectReportSignature/approvalForm?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章</a>";
+                        }
+                        if(d.approvalCancancel != undefined && d.approvalCancancel =="1")
+                        {
+                            xml+="<a href=\"${ctx}/projectReport/projectReportSignature/revokeApproval?id=" + d.approvalId + "&processInstanceId=" + d.approvalProcInsId + "&status="+d.approvalStatus+"\" onclick=\"return confirmx('确认要撤回该审定单签章申请审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 撤回审定单签章</a>";
+                        }
                         if(d.status == 5){
                             //上传审定单进行签章
 
@@ -437,30 +474,59 @@
                     "index":"${index.index+1}"
                     ,"id":"${projectReportSignature.id}"
                     ,"signatureName":"<c:out value="${projectReportSignature.signatureName}" escapeXml="false"/>"
-                    ,"projectName":"<c:out value="${projectReportSignature.projectName}" escapeXml="false"/>"
-                    ,"signatureType":"${fns:getMainDictLabels(projectReportSignature.signatureType,',','signature_type_project_report_work', '')}"
+                    ,"projectId":"<c:out value="${projectReportSignature.projectId}" escapeXml="false"/>"
+                    ,"projectNum":"<c:out value="${projectReportSignature.reportSignatureRelation.projectNum}" escapeXml="false"/>"
+                    ,"projectName":"<c:out value="${projectReportSignature.reportSignatureRelation.projectName}" escapeXml="false"/>"
+                    ,"reportDataNum":"<c:out value="${projectReportSignature.reportSignatureRelation.reportDataNum}" escapeXml="false"/>"
+                    ,"submitMoney":
+                        <c:choose>
+                        <c:when test="${'2'==projectReportSignature.reportSignatureRelation.submitMoney}">
+                        "A级"
+                    </c:when>
+                    <c:otherwise>
+                    "B级"
+                    </c:otherwise>
+                    </c:choose>
+                    <%--,"signatureType":"${fns:getMainDictLabels(projectReportSignature.signatureType,',','signature_type_project_report_work', '')}"--%>
                     ,"createDate":"<fmt:formatDate value="${projectReportSignature.createDate}" pattern="yyyy-MM-dd"/>"
+                    ,"reportStatus":"${projectReportSignature.reportStatus}"
+                    ,"reportId":"${projectReportSignature.reportId}"
                     ,"status":"${projectReportSignature.status}"
+                    ,"reportProcInsId":"${projectReportSignature.reportProcInsId}"
+                    ,"approvalStatus":"${projectReportSignature.approvalStatus}"
+                    ,"approvalId":"${projectReportSignature.approvalId}"
+                    ,"approvalProcInsId":"${projectReportSignature.approvalProcInsId}"
                     ,"signatureUrl":"${projectReportSignature.signatureUrl}"
                     ,"number":"${projectReportSignature.number}"
                     ,"signatureUrlFlag":"${projectReportSignature.signatureUrlFlag}"
                     ,"signatureContractId":"${projectReportSignature.signatureContractId}"
                     ,"createName":"<c:out value="${projectReportSignature.createBy.name}" escapeXml="false"/>"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectReportSignature.createBy.id}">
-                    <shiro:hasPermission name="projectReport:projectReportSignature:del">,"candel":	<c:choose><c:when test="${(projectReportSignature.status == 1 or projectReportSignature.status == 3 or projectReportSignature.status == 4) && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
-                    <shiro:hasPermission name="projectReport:projectReportSignature:edit">,"canedit1":	<c:choose><c:when test="${projectReportSignature.status == 1 && fns:getUser().id == projectReportSignature.createBy.id }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    ,"canedit2":<c:choose><c:when test="${projectReportSignature.status == 4 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    ,"canrecall":<c:choose><c:when test="${projectReportSignature.status == 3 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    <shiro:hasPermission name="projectReport:projectReportSignature:del">,"candel":	<c:choose><c:when test="${(projectReportSignature.reportStatus == 1 or projectReportSignature.reportStatus == 3 or projectReportSignature.reportStatus == 4) && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+                    <shiro:hasPermission name="projectReport:projectReportSignature:edit">,"canedit1":	<c:choose><c:when test="${projectReportSignature.reportStatus == 1 && fns:getUser().id == projectReportSignature.createBy.id }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCanedit1":<c:choose><c:when test="${projectReportSignature.approvalStatus == 1 && fns:getUser().id == projectReportSignature.createBy.id }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"canedit2":<c:choose><c:when test="${projectReportSignature.reportStatus == 4 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCanedit2":<c:choose><c:when test="${projectReportSignature.approvalStatus == 4 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"canrecall":<c:choose><c:when test="${projectReportSignature.reportStatus == 3 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCanrecall":<c:choose><c:when test="${projectReportSignature.approvalStatus == 3 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     </shiro:hasPermission>
-                    ,"cancancel":<c:choose><c:when test="${projectReportSignature.status == 2 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"cancancel":<c:choose><c:when test="${projectReportSignature.reportStatus == 2 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCancancel":<c:choose><c:when test="${projectReportSignature.approvalStatus == 2 && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCancancel1":<c:choose><c:when test="${projectReportSignature.approvalStatus == null  && projectReportSignature.reportStatus != null  && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"approvalCancancel2":<c:choose><c:when test="${projectReportSignature.approvalStatus != 5 && projectReportSignature.reportStatus == null && projectReportSignature.approvalStatus != null && fns:getUser().id == projectReportSignature.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 
                     </c:when>
                     <c:otherwise>
                     ,"candel":"0"
                     ,"canedit1":"0"
                     ,"canedit2":"0"
+                    ,"approvalCanedit2":"0"
                     ,"canrecall":"0"
+                    ,"approvalCanrecall":"0"
                     ,"cancancel":"0"
+                    ,"approvalCancancel":"0"
+                    ,"approvalCancancel1":"0"
+                    ,"approvalCancancel2":"0"
                     /*,"deleteAdmin":"0"*/
                     </c:otherwise>
                     </c:choose>

+ 187 - 75
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModify.jsp

@@ -307,6 +307,74 @@
             }
 
         }
+
+        function setProjectValue(obj){
+            console.log('obj',obj)
+            var pro = false
+            $.ajax({
+                async:false,
+                type:'post',
+                url:'${ctx}/projectReport/projectReportSignature/checkProject',
+                data:{
+                    "obj":obj
+                },
+                success:function(data){
+                    pro = data
+                }
+
+            })
+            if (pro){
+                parent.layer.msg("项目已经存在列表中,无法添加",{icon:6});
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val('');
+                        $("#projectName").val('');
+                        $("#workContractName").val('');
+                        $("#projectNum").val('');
+                        $("#clientName").val('');
+                        $("#reportDataNum").val('');
+                        // var areaId = $("#areaId").val();
+                        // if(undefined ==areaId || null == areaId || '' == areaId){
+                        //     $("#areaId").val(d.areaId);
+                        //     $("#areaName").val(d.areaName);
+                        // }
+
+                    }
+                })
+            }else{
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val(d.id);
+                        $("#projectName").val(d.projectName);
+                        $("#workContractName").val(d.workContractName);
+                        $("#projectNum").val(d.projectNum);
+                        $("#clientName").val(d.clientName);
+                        $("#reportDataNum").val(d.reportDataNum);
+                        var areaId = $("#areaId").val();
+                        if(undefined ==areaId || null == areaId || '' == areaId){
+                            $("#areaId").val(d.areaId);
+                            $("#areaName").val(d.areaName);
+                        }
+
+                    }
+                })
+            }
+
+        }
     </script>
 </head>
 <body>
@@ -327,100 +395,144 @@
 
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>签章项目信息</h2></div>
-                <div class="layui-item nav-btns">
-                    <a class="nav-btn nav-btn-add" onclick="addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl);projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;" title="新增"><i class="fa fa-plus"></i>&nbsp;新增</a>
-                </div>
-                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">
-                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">
-                        <thead>
-                        <tr>
-                            <th width="200px"><font color="red">*</font>项目名称</th>
-                            <th width="200px">报告号</th>
-                            <th width="200px">合同名称</th>
-                            <th width="200px">项目编号</th>
-                            <th width="200px">委托方</th>
-                            <th width="100px">操作</th>
-                        </tr>
-                        </thead>
-                        <tbody id="projectReportSignatureRelationList">
-                        </tbody>
-                    </table>
-                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!--
-                    <tr id="projectReportSignatureRelationList{{idx}}">
-                        <td class="hide">
-                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>
-							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
-                        </td>
-                        <td>
-                            <sys:gridselectprojectsignatures url="${ctx}/projectReport/projectReportSignature/getProjectReportList" id="projectReportSignatureRelationList{{idx}}_projectId" name="projectReportSignatureRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="projectReportSignatureRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
-													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectprojectsignatures>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td style="text-align:center;">
-							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td class="text-center op-td" >
-                            {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow1(this, '#projectReportSignatureRelationList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}
-                        </td>
-                    </tr>//-->
-                    </script>
-                    <script type="text/javascript">
-                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
-                        /*if($("#id").val()){
-                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};
-						}*/
-                        $(document).ready(function() {
-                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};
-                            console.log(data)
-                            for (var i=0; i<data.length; i++){
-                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])
-                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
-                            }
-                        });
-                    </script>
+                <div id="divv">
+                    <div class="layui-item layui-col-sm6 lw7" id="d1">
+                        <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+                        <div class="layui-input-block  with-icon">
+                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
+                                                            cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
+
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">报告号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同名称:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">项目编号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+                        </div>
+                    </div>
                 </div>
+<%--                <div class="layui-item nav-btns">--%>
+<%--                    <a class="nav-btn nav-btn-add" onclick="addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl);projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;" title="新增"><i class="fa fa-plus"></i>&nbsp;新增</a>--%>
+<%--                </div>--%>
+<%--                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+<%--                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+<%--                        <thead>--%>
+<%--                        <tr>--%>
+<%--                            <th width="200px"><font color="red">*</font>项目名称</th>--%>
+<%--                            <th width="200px">报告号</th>--%>
+<%--                            <th width="200px">合同名称</th>--%>
+<%--                            <th width="200px">项目编号</th>--%>
+<%--                            <th width="200px">委托方</th>--%>
+<%--                            <th width="100px">操作</th>--%>
+<%--                        </tr>--%>
+<%--                        </thead>--%>
+<%--                        <tbody id="projectReportSignatureRelationList">--%>
+<%--                        </tbody>--%>
+<%--                    </table>--%>
+<%--                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+<%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+<%--                        <td class="hide">--%>
+<%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--                            <sys:gridselectprojectsignatures url="${ctx}/projectReport/projectReportSignature/getProjectReportList" id="projectReportSignatureRelationList{{idx}}_projectId" name="projectReportSignatureRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="projectReportSignatureRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"--%>
+<%--													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectprojectsignatures>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td style="text-align:center;">--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td class="text-center op-td" >--%>
+<%--                            {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow1(this, '#projectReportSignatureRelationList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}--%>
+<%--                        </td>--%>
+<%--                    </tr>//-->--%>
+<%--                    </script>--%>
+<%--                    <script type="text/javascript">--%>
+<%--                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+<%--                        /*if($("#id").val()){--%>
+<%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--						}*/--%>
+<%--                        $(document).ready(function() {--%>
+<%--                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--                            console.log(data)--%>
+<%--                            for (var i=0; i<data.length; i++){--%>
+<%--                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+<%--                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+<%--                            }--%>
+<%--                        });--%>
+<%--                    </script>--%>
+<%--                </div>--%>
 
             </div>
 
             <div class="form-group layui-row">
                 <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">
-                        <form:input path="signatureName" id="signatureName" maxlength="255" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input required"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label">签章编号:</label>
+                    <label class="layui-form-label">签章描述:</label>
                     <div class="layui-input-block">
-                        <div class="input-group">
-                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>
-                            <%--<span class="input-group-btn">
-                                <label class="form-status"><c:choose><c:when test="${not empty projectReportSignature.status}">${fns:getDictLabel(projectReportSignature.status, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
-                             </span>--%>
-                        </div>
+                        <form:input path="signatureName" id="signatureName" maxlength="255" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input"/>
                     </div>
                 </div>
+<%--                <div class="layui-item layui-col-sm6 lw7">--%>
+<%--                    <label class="layui-form-label">签章编号:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div class="input-group">--%>
+<%--                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+<%--                            &lt;%&ndash;<span class="input-group-btn">--%>
+<%--                                <label class="form-status"><c:choose><c:when test="${not empty projectReportSignature.status}">${fns:getDictLabel(projectReportSignature.status, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>--%>
+<%--                             </span>&ndash;%&gt;--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </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 readOnlyFFF">
-                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
+                        <form:select placeholder="请选择" path="signatureType" onchange="checkType" class="form-control judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
                             <form:option value=""/>
                             <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
                         </form:select>
                     </div>
                 </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 readOnlyFFF">
+                        <select class="form-control judgment layui-input" id="dutyPerson" name="dutyPerson">
+                            <option value=""/>
+                            <c:forEach items="${dutyPersonList}" var="user">
+                                <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+                            </c:forEach>
+                        </select>
+                    </div>
+                </div>
 
 
 

+ 766 - 0
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkModifyApproval.jsp

@@ -0,0 +1,766 @@
+<%@ 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}/helloweba_editable-select/jquery.editable-select.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <script src="${ctxStatic}/common/html/js/script.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+    <style>
+
+        #contractTypeDoc-error{
+            top:80px;
+            left:0;
+        }
+        /*超过5个汉字,调整label的长度,以下是配套的*/
+        .layui-item .layui-form-label{
+            width:90px;
+        }
+        #projectReportSignatureRelationList td{
+            padding-left: 0px;
+            padding-right: 0px;
+        }
+    </style>
+    <script type="text/javascript">
+        var validateForm;
+        var isMasterClient = true;//是否是委托方
+        var clientCount = 0;
+        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            if(validateForm.form()){
+                if(i==2){
+                    $("#inputForm").attr("action","${ctx}/projectReport/projectReportSignature/tstoreApproval");
+                }else{
+                    var flag = $("#flagFile").val();
+                    if(flag == 'false'){
+                        top.layer.msg('报告签章附件信息未上传完成,请等待!', {icon: 0});
+                        return;
+                    }
+                    var length = $("#file_attachment").find("tr").length ;
+                    if(length == 0){
+                        top.layer.msg("请上传报告签章附件", {icon: 0});
+                        return;
+                    }
+                    var flags=judgment();
+                    if (!flags){
+                        return flags;
+                    }
+                }
+                $("#inputForm").submit();
+                return true;
+            }else{
+                parent.layer.msg("信息未填写完整!", {icon: 5});
+            }
+            return false;
+        }
+        $(document).ready(function() {
+            layui.use(['form', 'layer'], function () {
+                var form = layui.form;
+            });
+
+            $("#attachment_btn").click(function () {
+                $("#attachment_file").click();
+            });
+            var radioVal ;
+            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);
+                    }
+                }
+            });
+
+        });
+
+        function insertTitle(tValue){
+            $("#flagFile").val(false);
+            var files = $("#attachment_file")[0].files;
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx,pdf";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
+                var attachmentId = $("#signatureId").val();
+                var attachmentFlag = "174";
+                /*console.log(file);*/
+                var timestamp=new Date().getTime();
+
+                var storeAs = "signatureProjectReportWork";
+                var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+                var divId = "_attachment";
+                $("#addFile"+divId).show();
+                console.log(32145121)
+                multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);
+            }
+        }
+
+
+        function addFile() {
+            $("#attachment_file").click();
+        }
+
+        function addRow(list, idx, tpl, row){
+            bornTemplete(list, idx, tpl, row, idx);
+        }
+
+        function bornTemplete(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+        function delRow(obj, prefix){
+            var id = $(prefix+"_id");
+            var delFlag = $(prefix+"_delFlag");
+            $(obj).parent().parent().remove();
+        }
+
+
+
+        function addRow1(list, idx, tpl, row){
+            var idx1 = $("#projectReportSignatureRelationList tr").length;
+            if(idx1>0){
+                var count=0;
+                for (var i=1;i<=idx1;i++) {
+                    var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                    if (delFlag == "1") {
+                        count = i;
+                    }
+                }
+                if (idx1>count){
+                    var id=$("#projectReportSignatureRelationList").find("tr").eq(count).find("input").eq(5).val();
+                    if (id!=undefined && id != ''){
+                        if (row== undefined){
+                            row={"isProject": "1","isProjectFalg": "1"};
+                            layui.form.render();
+                        }
+                    }else{
+                        parent.layer.msg("请选择项目报告信息",{icon:6});
+                        layui.form.render();
+                        return false;
+                    }
+                }
+            }
+            if(list == '#projectReportSignatureRelationList'){
+                bornTemplete1(list, idx, tpl, row, idx1);
+            }
+        }
+        function bornTemplete1(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+
+        function delRow1(obj, prefix) {
+            var id = $(prefix + "_signatureId");
+            var delFlag = $(prefix + "_delFlag");
+            if (id.val() == "") {
+                $(obj).parent().parent().remove();
+            } else if (delFlag.val() == "0") {
+                delFlag.val("1");
+                $(obj).html("&divide;").attr("title", "撤回删除");
+                $(obj).parent().parent().addClass("error");
+                $(obj).parent().parent().addClass("hide");
+            } else if (delFlag.val() == "1") {
+                delFlag.val("0");
+                $(obj).html("&times;").attr("title", "删除");
+                $(obj).parent().parent().removeClass("error");
+            }
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+        }
+
+        function newSetPNumber(obj,ids,details){
+            var idx=ids.split("_")[0]
+            var idArray= new Array(); //定义一数组
+            idArray=obj.split(","); //字符分割
+
+            for (var k=0;k<idArray.length ;k++ )
+            {
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":idArray[k]
+                    },
+                    success:function(data){
+                        if(k>=1){
+                            var row = projectReportSignatureRelationListRowIdx;
+                            addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[k])
+                            projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
+                            var d = JSON.parse(data);
+                            var workContractName="#projectReportSignatureRelationList"+row+"_workContractName";
+                            var projectNum="#projectReportSignatureRelationList"+row+"_projectNum";
+                            var clientName="#projectReportSignatureRelationList"+row+"_clientName";
+                            var reportDataNum="#projectReportSignatureRelationList"+row+"_reportDataNum";
+                            var projectName="#projectReportSignatureRelationList"+row+"_projectIdName";
+                            var id="#projectReportSignatureRelationList"+row+"_projectIdId";
+                            $(id).val(d.id);
+                            $(projectName).val(d.projectName);
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }else{
+                            var d = JSON.parse(data);
+                            var workContractName="#"+idx+"_workContractName";
+                            var projectNum="#"+idx+"_projectNum";
+                            var clientName="#"+idx+"_clientName";
+                            var reportDataNum="#"+idx+"_reportDataNum";
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }
+                    }
+                })
+            }
+
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+
+        }
+
+        function setProjectValue(obj){
+            console.log('obj',obj)
+            var pro = false
+            $.ajax({
+                async:false,
+                type:'post',
+                url:'${ctx}/projectReport/projectReportSignature/checkProject',
+                data:{
+                    "obj":obj
+                },
+                success:function(data){
+                    pro = data
+                }
+
+            })
+            if (pro){
+                parent.layer.msg("项目已经存在列表中,无法添加",{icon:6});
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val('');
+                        $("#projectName").val('');
+                        $("#workContractName").val('');
+                        $("#projectNum").val('');
+                        $("#clientName").val('');
+                        $("#reportDataNum").val('');
+                        // var areaId = $("#areaId").val();
+                        // if(undefined ==areaId || null == areaId || '' == areaId){
+                        //     $("#areaId").val(d.areaId);
+                        //     $("#areaName").val(d.areaName);
+                        // }
+
+                    }
+                })
+            }else{
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":obj
+                    },
+                    success:function(data){
+                        var d = JSON.parse(data);
+                        $("#projectId").val(d.id);
+                        $("#projectName").val(d.projectName);
+                        $("#workContractName").val(d.workContractName);
+                        $("#projectNum").val(d.projectNum);
+                        $("#clientName").val(d.clientName);
+                        $("#reportDataNum").val(d.reportDataNum);
+                        var areaId = $("#areaId").val();
+                        if(undefined ==areaId || null == areaId || '' == areaId){
+                            $("#areaId").val(d.areaId);
+                            $("#areaName").val(d.areaName);
+                        }
+
+                    }
+                })
+            }
+
+        }
+    </script>
+</head>
+<body>
+<div class="single-form">
+    <div class="container">
+        <sys:message content="${message}"/>
+        <form:form id="inputForm" modelAttribute="projectReportSignature" action="${ctx}/projectReport/projectReportSignature/saveAuditApproval" method="post" class="form-horizontal layui-form ">
+            <form:hidden path="id"/>
+            <form:hidden path="signatureId"/>
+            <form:hidden path="home"/>
+            <form:hidden path="act.taskId"/>
+            <form:hidden path="act.taskName"/>
+            <form:hidden id="taskDefKey" path="act.taskDefKey"/>
+            <form:hidden path="act.procInsId"/>
+            <form:hidden path="act.procDefId"/>
+            <form:hidden path="processInstanceId"/>
+            <form:hidden id="flag" path="act.flag"/>
+            <input type="hidden" id="flagFile" value="">
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>签章项目信息</h2></div>
+                <div id="divv">
+                    <div class="layui-item layui-col-sm6 lw7" id="d1">
+                        <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+                        <div class="layui-input-block  with-icon">
+                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"
+                                                            cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>
+
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">报告号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同名称:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">项目编号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+                        </div>
+                    </div>
+                </div>
+<%--                <div class="layui-item nav-btns">--%>
+<%--                    <a class="nav-btn nav-btn-add" onclick="addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl);projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;" title="新增"><i class="fa fa-plus"></i>&nbsp;新增</a>--%>
+<%--                </div>--%>
+<%--                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+<%--                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+<%--                        <thead>--%>
+<%--                        <tr>--%>
+<%--                            <th width="200px"><font color="red">*</font>项目名称</th>--%>
+<%--                            <th width="200px">报告号</th>--%>
+<%--                            <th width="200px">合同名称</th>--%>
+<%--                            <th width="200px">项目编号</th>--%>
+<%--                            <th width="200px">委托方</th>--%>
+<%--                            <th width="100px">操作</th>--%>
+<%--                        </tr>--%>
+<%--                        </thead>--%>
+<%--                        <tbody id="projectReportSignatureRelationList">--%>
+<%--                        </tbody>--%>
+<%--                    </table>--%>
+<%--                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+<%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+<%--                        <td class="hide">--%>
+<%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--                            <sys:gridselectprojectsignatures url="${ctx}/projectReport/projectReportSignature/getProjectReportList" id="projectReportSignatureRelationList{{idx}}_projectId" name="projectReportSignatureRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="projectReportSignatureRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"--%>
+<%--													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectprojectsignatures>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td style="text-align:center;">--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td>--%>
+<%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+<%--                        </td>--%>
+<%--                        <td class="text-center op-td" >--%>
+<%--                            {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow1(this, '#projectReportSignatureRelationList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}--%>
+<%--                        </td>--%>
+<%--                    </tr>//-->--%>
+<%--                    </script>--%>
+<%--                    <script type="text/javascript">--%>
+<%--                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+<%--                        /*if($("#id").val()){--%>
+<%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--						}*/--%>
+<%--                        $(document).ready(function() {--%>
+<%--                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+<%--                            console.log(data)--%>
+<%--                            for (var i=0; i<data.length; i++){--%>
+<%--                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+<%--                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+<%--                            }--%>
+<%--                        });--%>
+<%--                    </script>--%>
+<%--                </div>--%>
+
+            </div>
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>签章基础信息</h2></div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">签章描述:</label>
+                    <div class="layui-input-block">
+                        <form:input path="signatureName" id="signatureName" maxlength="255" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input"/>
+                    </div>
+                </div>
+<%--                <div class="layui-item layui-col-sm6 lw7">--%>
+<%--                    <label class="layui-form-label">签章编号:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div class="input-group">--%>
+<%--                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+<%--                            &lt;%&ndash;<span class="input-group-btn">--%>
+<%--                                <label class="form-status"><c:choose><c:when test="${not empty projectReportSignature.status}">${fns:getDictLabel(projectReportSignature.status, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>--%>
+<%--                             </span>&ndash;%&gt;--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </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 readOnlyFFF">
+                        <form:select placeholder="请选择" path="signatureType" onchange="checkType" class="form-control judgment editable-select layui-input" id="signatureType" value="${projectReportSignature.signatureType}">
+                            <form:option value=""/>
+                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+                        </form:select>
+                    </div>
+                </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 readOnlyFFF">
+                        <select class="form-control judgment layui-input" id="dutyPerson" name="dutyPerson">
+                            <option value=""/>
+                            <c:forEach items="${dutyPersonList}" var="user">
+                                <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+                            </c:forEach>
+                        </select>
+                    </div>
+                </div>
+
+
+
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建人:</label>
+                    <div class="layui-input-block">
+                        <form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
+                        <form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">所属部门:</label>
+                    <div class="layui-input-block">
+                        <form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建日期:</label>
+                    <div class="layui-input-block">
+                        <input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${projectReportSignature.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
+                    </div>
+                </div>
+
+                <div class="layui-item layui-col-sm12 lw7 with-textarea">
+                    <label class="layui-form-label ">备注:</label>
+                    <div class="layui-input-block">
+                        <form:textarea placeholder="请输入备注" path="remarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
+                    </div>
+                </div>
+            </div>
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2><span class="require-item">*</span>签章附件信息</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>
+                </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="upTable" 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="${projectReportSignature.workAttachments}" var="workClientAttachment"
+                                   varStatus="status">
+                            <tr>
+                                    <%-- <td>${status.index + 1}</td>--%>
+                                <c:choose>
+                                    <c:when test="${projectReportSignature.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="${projectReportSignature.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="${projectReportSignature.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.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')"
+                                               class="op-btn op-btn-delete"><i class="fa fa-trash"></i>&nbsp;删除</a>
+                                        </c:if>
+                                        <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 layui-btn-warm" >&nbsp;收藏</a>
+                                        </c:if>
+                                    </div>
+                                </td>
+                            </tr>
+                        </c:forEach>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+
+            <div class="form-group layui-row page-end"></div>
+        </form:form>
+    </div>
+</div>
+</body>
+</html>

+ 119 - 63
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkView.jsp

@@ -215,66 +215,111 @@
 </head>
 <body>
 <div class="single-form">
-    <div class="container">
+    <div class="tapfixed">
+        <div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
+            <ul class="list-tabs" >
+                <li class="active"><a href="${ctx}/projectReport/projectReportSignature/view?id=${projectReportSignature.id}">报告签章</a></li>
+                <li><a href="${ctx}/projectReport/projectReportSignature/viewApproval?id=${projectReportSignature.id}">审定单签章</a></li>
+
+            </ul>
+        </div>
+    </div>
+    <div class="container view-form" style="margin-top: 50px;">
         <sys:message content="${message}"/>
         <form:form id="inputForm" modelAttribute="projectReportSignature" action="${ctx}/projectReport/projectReportSignature/view" method="post" class="form-horizontal layui-form ">
             <form:hidden path="id"/>
 
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>签章项目信息</h2></div>
-                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">
-                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">
-                        <thead>
-                        <tr>
-                            <th width="200px"><font color="red">*</font>项目名称</th>
-                            <th width="200px">报告号</th>
-                            <th width="200px">合同名称</th>
-                            <th width="200px">项目编号</th>
-                            <th width="200px">委托方</th>
-                        </tr>
-                        </thead>
-                        <tbody id="projectReportSignatureRelationList">
-                        </tbody>
-                    </table>
-                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!--
-                    <tr id="projectReportSignatureRelationList{{idx}}">
-                        <td class="hide">
-                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>
-							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td style="text-align:center;">
-							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>
-                        </td>
-                        <td>
-							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>
-                        </td>、
-                    </tr>//-->
-                    </script>
-                    <script type="text/javascript">
-                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
-                        /*if($("#id").val()){
-                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};
-						}*/
-                        $(document).ready(function() {
-                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};
-                            console.log(data)
-                            for (var i=0; i<data.length; i++){
-                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])
-                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
-                            }
-                        });
-                    </script>
+                <div id="divv">
+                    <div class="layui-item layui-col-sm6 lw7" id="d1">
+                        <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+                        <div class="layui-input-block  with-icon">
+                                <%--                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"--%>
+                                <%--                                                    cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>--%>
+                            <input  htmlEscape="false"  readonly="true" id="projectName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectName}"/>
+                            <input  htmlEscape="false"  readonly="true" type="hidden" id="projectId"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectId}"/>
+
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">报告号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同名称:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">项目编号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+                        </div>
+                    </div>
                 </div>
+                    <%--                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+                    <%--                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+                    <%--                        <thead>--%>
+                    <%--                        <tr>--%>
+                    <%--                            <th width="200px"><font color="red">*</font>项目名称</th>--%>
+                    <%--                            <th width="200px">报告号</th>--%>
+                    <%--                            <th width="200px">合同名称</th>--%>
+                    <%--                            <th width="200px">项目编号</th>--%>
+                    <%--                            <th width="200px">委托方</th>--%>
+                    <%--                        </tr>--%>
+                    <%--                        </thead>--%>
+                    <%--                        <tbody id="projectReportSignatureRelationList">--%>
+                    <%--                        </tbody>--%>
+                    <%--                    </table>--%>
+                    <%--                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+                    <%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+                    <%--                        <td class="hide">--%>
+                    <%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td style="text-align:center;">--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>、--%>
+                    <%--                    </tr>//-->--%>
+                    <%--                    </script>--%>
+                    <%--                    <script type="text/javascript">--%>
+                    <%--                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+                    <%--                        /*if($("#id").val()){--%>
+                    <%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+                    <%--						}*/--%>
+                    <%--                        $(document).ready(function() {--%>
+                    <%--                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+                    <%--                            console.log(data)--%>
+                    <%--                            for (var i=0; i<data.length; i++){--%>
+                    <%--                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+                    <%--                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+                    <%--                            }--%>
+                    <%--                        });--%>
+                    <%--                    </script>--%>
+                    <%--                </div>--%>
 
             </div>
 
@@ -286,14 +331,14 @@
                         <form:input path="signatureName" id="signatureName" maxlength="255" readonly="true" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input required"/>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label">签章编号:</label>
-                    <div class="layui-input-block">
-                        <div class="input-group">
-                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>
-                        </div>
-                    </div>
-                </div>
+                    <%--                <div class="layui-item layui-col-sm6 lw7">--%>
+                    <%--                    <label class="layui-form-label">签章编号:</label>--%>
+                    <%--                    <div class="layui-input-block">--%>
+                    <%--                        <div class="input-group">--%>
+                    <%--                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+                    <%--                        </div>--%>
+                    <%--                    </div>--%>
+                    <%--                </div>--%>
 
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>签章类型:</label>
@@ -304,7 +349,17 @@
                         </form:select>
                     </div>
                 </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 readOnlyFFF">
+                        <select class="form-control judgment layui-input" disabled="disabled" id="dutyPerson" name="dutyPerson">
+                            <option value=""/>
+                            <c:forEach items="${dutyPersonList}" var="user">
+                                <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+                            </c:forEach>
+                        </select>
+                    </div>
+                </div>
 
 
 
@@ -318,7 +373,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label">所属部门:</label>
                     <div class="layui-input-block">
-                        <form:input path="createBy.office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+                        <form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
@@ -709,6 +764,7 @@
 
             <div class="form-group layui-row page-end"></div>
         </form:form>
+
     </div>
 </div>
 </body>

+ 771 - 0
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkViewApproval.jsp

@@ -0,0 +1,771 @@
+<%@ 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}/helloweba_editable-select/jquery.editable-select.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <script src="${ctxStatic}/common/html/js/script.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+    <style>
+
+        #contractTypeDoc-error{
+            top:80px;
+            left:0;
+        }
+        /*超过5个汉字,调整label的长度,以下是配套的*/
+        .layui-item .layui-form-label{
+            width:90px;
+        }
+        #projectReportSignatureRelationList td{
+            padding-left: 0px;
+            padding-right: 0px;
+        }
+    </style>
+    <script type="text/javascript">
+        var validateForm;
+        var isMasterClient = true;//是否是委托方
+        var clientCount = 0;
+        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            return false;
+        }
+        $(document).ready(function() {
+            layui.use(['form', 'layer'], function () {
+                var form = layui.form;
+            });
+
+            $("#attachment_btn").click(function () {
+                $("#attachment_file").click();
+            });
+            var radioVal ;
+            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);
+                    }
+                }
+            });
+
+        });
+        function addRow1(list, idx, tpl, row){
+            var idx1 = $("#projectReportSignatureRelationList tr").length;
+            if(idx1>0){
+                var count=0;
+                for (var i=1;i<=idx1;i++) {
+                    var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                    if (delFlag == "1") {
+                        count = i;
+                    }
+                }
+                if (idx1>count){
+                    var id=$("#projectReportSignatureRelationList").find("tr").eq(count).find("input").eq(5).val();
+                    if (id!=undefined && id != ''){
+                        if (row== undefined){
+                            row={"isProject": "1","isProjectFalg": "1"};
+                            layui.form.render();
+                        }
+                    }else{
+                        parent.layer.msg("请选择项目报告信息",{icon:6});
+                        layui.form.render();
+                        return false;
+                    }
+                }
+            }
+            if(list == '#projectReportSignatureRelationList'){
+                bornTemplete1(list, idx, tpl, row, idx1);
+            }
+        }
+        function bornTemplete1(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+
+        function delRow1(obj, prefix) {
+            var id = $(prefix + "_signatureId");
+            var delFlag = $(prefix + "_delFlag");
+            if (id.val() == "") {
+                $(obj).parent().parent().remove();
+            } else if (delFlag.val() == "0") {
+                delFlag.val("1");
+                $(obj).html("&divide;").attr("title", "撤回删除");
+                $(obj).parent().parent().addClass("error");
+                $(obj).parent().parent().addClass("hide");
+            } else if (delFlag.val() == "1") {
+                delFlag.val("0");
+                $(obj).html("&times;").attr("title", "删除");
+                $(obj).parent().parent().removeClass("error");
+            }
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+        }
+
+        function newSetPNumber(obj,ids,details){
+            var idx=ids.split("_")[0]
+            var idArray= new Array(); //定义一数组
+            idArray=obj.split(","); //字符分割
+
+            for (var k=0;k<idArray.length ;k++ )
+            {
+                $.ajax({
+                    async:false,
+                    type:'post',
+                    url:'${ctx}/projectReport/projectReportSignature/getPNumber',
+                    data:{
+                        "obj":idArray[k]
+                    },
+                    success:function(data){
+                        if(k>=1){
+                            var row = projectReportSignatureRelationListRowIdx;
+                            addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[k])
+                            projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;
+                            var d = JSON.parse(data);
+                            var workContractName="#projectReportSignatureRelationList"+row+"_workContractName";
+                            var projectNum="#projectReportSignatureRelationList"+row+"_projectNum";
+                            var clientName="#projectReportSignatureRelationList"+row+"_clientName";
+                            var reportDataNum="#projectReportSignatureRelationList"+row+"_reportDataNum";
+                            var projectName="#projectReportSignatureRelationList"+row+"_projectIdName";
+                            var id="#projectReportSignatureRelationList"+row+"_projectIdId";
+                            $(id).val(d.id);
+                            $(projectName).val(d.projectName);
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }else{
+                            var d = JSON.parse(data);
+                            var workContractName="#"+idx+"_workContractName";
+                            var projectNum="#"+idx+"_projectNum";
+                            var clientName="#"+idx+"_clientName";
+                            var reportDataNum="#"+idx+"_reportDataNum";
+                            $(workContractName).val(d.workContractName);
+                            $(projectNum).val(d.projectNum);
+                            $(clientName).val(d.clientName);
+                            $(reportDataNum).val(d.reportDataNum);
+                            var areaId = $("#areaId").val();
+                            if(undefined ==areaId || null == areaId || '' == areaId){
+                                $("#areaId").val(d.areaId);
+                                $("#areaName").val(d.areaName);
+                            }
+                        }
+                    }
+                })
+            }
+
+            var length=$("#projectReportSignatureRelationList tr").length;
+            var count=length;
+            for (var i=1;i<=length;i++) {
+                var delFlag = $("#projectReportSignatureRelationList").find("tr").eq(i-1).find("input").eq(1).val();
+                if (delFlag == "1") {
+                    count =count-1;
+                }
+            }
+            if(count==1){
+                layui.form.render();
+            }else if (count>1){
+                layui.form.render();
+            }else if(count == 0){
+                $("#projectFlag").val("");
+            }
+
+        }
+
+    </script>
+</head>
+<body>
+<div class="single-form">
+    <div class="tapfixed">
+        <div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
+            <ul class="list-tabs" >
+                <li><a href="${ctx}/projectReport/projectReportSignature/view?id=${projectReportSignature.id}">报告签章</a></li>
+                <li class="active"><a href="${ctx}/projectReport/projectReportSignature/viewApproval?id=${projectReportSignature.id}">审定单签章</a></li>
+
+            </ul>
+        </div>
+    </div>
+    <div class="container view-form" style="margin-top: 50px;">
+        <sys:message content="${message}"/>
+        <form:form id="inputForm" modelAttribute="projectReportSignature" action="${ctx}/projectReport/projectReportSignature/view" method="post" class="form-horizontal layui-form ">
+            <form:hidden path="id"/>
+
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>签章项目信息</h2></div>
+                <div id="divv">
+                    <div class="layui-item layui-col-sm6 lw7" id="d1">
+                        <label class="layui-form-label"><span class="require-item">*</span>选择项目:</label>
+                        <div class="layui-input-block  with-icon">
+                                <%--                            <sys:gridselectSignatureProject url="${ctx}/projectReport/projectReportSignature/getProjectReportList" type="" isTotal="" id="projectId" name="reportSignatureRelation.projectId"  value="${projectReportSignature.reportSignatureRelation.projectId}"  title="选择所属项目" labelName="reportSignatureRelation.projectName"--%>
+                                <%--                                                    cssStyle="background-color: #fff" labelValue="${projectReportSignature.reportSignatureRelation.projectName}" cssClass="form-control required layui-input" fieldLabels="项目名称" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"></sys:gridselectSignatureProject>--%>
+                            <input  htmlEscape="false"  readonly="true" id="projectName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectName}"/>
+                            <input  htmlEscape="false"  readonly="true" type="hidden" id="projectId"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectId}"/>
+
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">报告号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="reportDataNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.reportDataNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同名称:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="workContractName"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.workContractName}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">项目编号:</label>
+                        <div class="layui-input-block">
+                            <input  htmlEscape="false"  readonly="true" id="projectNum"  class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.projectNum}"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="clientName" name="reportSignatureRelation.clientName" class="form-control layui-input" value="${projectReportSignature.reportSignatureRelation.clientName}"/>
+                        </div>
+                    </div>
+                </div>
+                    <%--                <div class="layui-table-body layui-item layui-col-xs12 form-table-container"  style="padding:0px">--%>
+                    <%--                    <table id="contentTables" class="table table-bordered table-condensed can-edit no-bottom-margin details">--%>
+                    <%--                        <thead>--%>
+                    <%--                        <tr>--%>
+                    <%--                            <th width="200px"><font color="red">*</font>项目名称</th>--%>
+                    <%--                            <th width="200px">报告号</th>--%>
+                    <%--                            <th width="200px">合同名称</th>--%>
+                    <%--                            <th width="200px">项目编号</th>--%>
+                    <%--                            <th width="200px">委托方</th>--%>
+                    <%--                        </tr>--%>
+                    <%--                        </thead>--%>
+                    <%--                        <tbody id="projectReportSignatureRelationList">--%>
+                    <%--                        </tbody>--%>
+                    <%--                    </table>--%>
+                    <%--                    <script type="text/template" id="projectReportSignatureRelationListTpl">//<!----%>
+                    <%--                    <tr id="projectReportSignatureRelationList{{idx}}">--%>
+                    <%--                        <td class="hide">--%>
+                    <%--                            <input id="projectReportSignatureRelationList{{idx}}_signatureId" name="projectReportSignatureRelationList[{{idx}}].signatureId" type="hidden" value="{{row.signatureId}}"/>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_delFlag" name="projectReportSignatureRelationList[{{idx}}].delFlag" type="hidden" value="0"/>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_contractId" name="projectReportSignatureRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_projectName"  type="text" value="{{row.projectName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_reportDataNum"  type="text" value="{{row.reportDataNum}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_workContractName"  type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td style="text-align:center;">--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>--%>
+                    <%--                        <td>--%>
+                    <%--							<input id="projectReportSignatureRelationList{{idx}}_clientName"  type="text" value="{{row.clientName}}" readonly="readonly"  class="form-control"/>--%>
+                    <%--                        </td>、--%>
+                    <%--                    </tr>//-->--%>
+                    <%--                    </script>--%>
+                    <%--                    <script type="text/javascript">--%>
+                    <%--                        var projectReportSignatureRelationListRowIdx = 0, projectReportSignatureRelationListTpl = $("#projectReportSignatureRelationListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");--%>
+                    <%--                        /*if($("#id").val()){--%>
+                    <%--                            projectReportSignatureRelationListRowIdx = ${fn:length(projectReportSignature.projectReportSignatureRelationList)};--%>
+                    <%--						}*/--%>
+                    <%--                        $(document).ready(function() {--%>
+                    <%--                            var data = ${fns:toJson(projectReportSignature.projectReportSignatureRelationList)};--%>
+                    <%--                            console.log(data)--%>
+                    <%--                            for (var i=0; i<data.length; i++){--%>
+                    <%--                                addRow1('#projectReportSignatureRelationList', projectReportSignatureRelationListRowIdx, projectReportSignatureRelationListTpl, data[i])--%>
+                    <%--                                projectReportSignatureRelationListRowIdx = projectReportSignatureRelationListRowIdx + 1;--%>
+                    <%--                            }--%>
+                    <%--                        });--%>
+                    <%--                    </script>--%>
+                    <%--                </div>--%>
+
+            </div>
+
+            <div class="form-group layui-row">
+                <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">
+                        <form:input path="signatureName" id="signatureName" maxlength="255" readonly="true" htmlEscape="false" placeholder="请输入签章描述" class="form-control layui-input required"/>
+                    </div>
+                </div>
+                    <%--                <div class="layui-item layui-col-sm6 lw7">--%>
+                    <%--                    <label class="layui-form-label">签章编号:</label>--%>
+                    <%--                    <div class="layui-input-block">--%>
+                    <%--                        <div class="input-group">--%>
+                    <%--                            <form:input path="number" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+                    <%--                        </div>--%>
+                    <%--                    </div>--%>
+                    <%--                </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 readOnlyFFF">
+                        <form:select placeholder="请选择" path="signatureType" class="form-control judgment editable-select layui-input" id="signatureType" disabled="true"  readonly="true" value="${projectReportSignature.signatureType}">
+                            <form:option value=""/>
+                            <form:options items="${fns:getMainDictList('signature_type_project_report_work')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+                        </form:select>
+                    </div>
+                </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 readOnlyFFF">
+                        <select class="form-control judgment layui-input" disabled="disabled" id="dutyPerson" name="dutyPerson">
+                            <option value=""/>
+                            <c:forEach items="${dutyPersonList}" var="user">
+                                <option value="${user.id}" <c:if test="${projectReportSignature.dutyPerson eq user.id }">selected</c:if>>${user.name}</option>
+                            </c:forEach>
+                        </select>
+                    </div>
+                </div>
+
+
+
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建人:</label>
+                    <div class="layui-input-block">
+                        <form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
+                        <form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">所属部门:</label>
+                    <div class="layui-input-block">
+                        <form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">创建日期:</label>
+                    <div class="layui-input-block">
+                        <input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${projectReportSignature.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
+                    </div>
+                </div>
+
+                <div class="layui-item layui-col-sm12 lw7 with-textarea">
+                    <label class="layui-form-label ">备注:</label>
+                    <div class="layui-input-block">
+                        <form:textarea placeholder="请输入备注" path="remarks" readonly="true" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
+                    </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="upTable" 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="${projectReportSignature.workAttachments}" var="workClientAttachment"
+                                   varStatus="status">
+                            <tr>
+                                    <%-- <td>${status.index + 1}</td>--%>
+                                <c:choose>
+                                    <c:when test="${projectReportSignature.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="${projectReportSignature.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="${projectReportSignature.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 layui-btn-warm" >&nbsp;收藏</a>
+                                        </c:if>
+                                    </div>
+                                </td>
+                            </tr>
+                        </c:forEach>
+                        </tbody>
+                    </table>
+                </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="upTable" 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="${projectReportSignature.signatureWorkAttachments}" var="signatureWorkAttachment"
+                                   varStatus="status">
+                            <tr>
+                                    <%-- <td>${status.index + 1}</td>--%>
+                                <c:choose>
+                                    <c:when test="${projectReportSignature.uploadMode == 2}">
+                                        <c:choose>
+                                            <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpg')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'png')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'gif')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'bmp')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpeg')}">
+                                                <td><img src="${signatureWorkAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${signatureWorkAttachment.temporaryUrl}','90%','90%')" alt="${signatureWorkAttachment.attachmentName}">
+                                            </c:when>
+                                            <c:otherwise>
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'pdf')}">
+                                                        <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',1)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <c:choose>
+                                                            <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'7z')}">
+                                                                <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',3)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                            </c:when>
+                                                            <c:otherwise>
+                                                                <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',2)">${signatureWorkAttachment.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(signatureWorkAttachment.attachmentName,'jpg')
+                                             or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'png')
+                                             or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'gif')
+                                             or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'bmp')
+                                             or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpeg')}">
+                                                <td><img src="${signatureWorkAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${signatureWorkAttachment.url}','90%','90%')" alt="${signatureWorkAttachment.attachmentName}">
+                                            </c:when>
+                                            <c:otherwise>
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'pdf')}">
+                                                        <td><a class="attention-info" href="javascript:void(0)"
+                                                               onclick="openPreview('${signatureWorkAttachment.url}',1)">${signatureWorkAttachment.attachmentName}</a>
+                                                        </td>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <c:choose>
+                                                            <c:when test="${projectReportSignature.uploadMode == 2}">
+                                                                <c:choose>
+                                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpg')
+                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'png')
+                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'gif')
+                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'bmp')
+                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpeg')}">
+                                                                        <td><img src="${signatureWorkAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${signatureWorkAttachment.temporaryUrl}','90%','90%')" alt="${signatureWorkAttachment.attachmentName}">
+                                                                    </c:when>
+                                                                    <c:otherwise>
+                                                                        <c:choose>
+                                                                            <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'pdf')}">
+                                                                                <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',1)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                                            </c:when>
+                                                                            <c:otherwise>
+                                                                                <c:choose>
+                                                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'7z')}">
+                                                                                        <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',3)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                                                    </c:when>
+                                                                                    <c:otherwise>
+                                                                                        <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.temporaryUrl}',2)">${signatureWorkAttachment.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(signatureWorkAttachment.attachmentName,'jpg')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'png')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'gif')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'bmp')
+                                                   or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jpeg')}">
+                                                                        <td><img src="${signatureWorkAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${signatureWorkAttachment.url}','90%','90%')" alt="${signatureWorkAttachment.attachmentName}">
+                                                                    </c:when>
+                                                                    <c:otherwise>
+                                                                        <c:choose>
+                                                                            <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'pdf')}">
+                                                                                <td><a href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.url}',1)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                                            </c:when>
+                                                                            <c:otherwise>
+                                                                                <c:choose>
+                                                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'7z')}">
+                                                                                        <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.url}',3)">${signatureWorkAttachment.attachmentName}</a></td>
+                                                                                    </c:when>
+                                                                                    <c:otherwise>
+                                                                                        <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${signatureWorkAttachment.url}',2)">${signatureWorkAttachment.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>${signatureWorkAttachment.createBy.name}</td>
+                                <td><fmt:formatDate value="${signatureWorkAttachment.createDate}" type="both"/></td>
+                                <td class="op-td">
+                                    <div class="op-btn-box">
+
+                                            <%--附件下载删除--%>
+                                        <c:choose>
+                                            <c:when test="${projectReportSignature.uploadMode == 2}">
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(signatureWorkAttachment.attachmentName,'pdf')}">
+                                                        <a href="${signatureWorkAttachment.temporaryUrl}" target="_blank" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <a href="${signatureWorkAttachment.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('${signatureWorkAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                            </c:otherwise>
+                                        </c:choose>
+                                        <c:if test="${signatureWorkAttachment.collectFlag != 1}">
+                                            <a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${signatureWorkAttachment.url}','${signatureWorkAttachment.createBy.id}','${signatureWorkAttachment.fileSize}')" class="op-btn layui-btn-warm" >&nbsp;收藏</a>
+                                        </c:if>
+                                    </div>
+                                </td>
+                            </tr>
+                        </c:forEach>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+
+            <div class="form-group layui-row page-end"></div>
+        </form:form>
+
+    </div>
+</div>
+</body>
+</html>