ソースを参照

质量流程控制单修改,新增报告咨询员修改

user5 4 年 前
コミット
85e4b80374
20 ファイル変更1774 行追加514 行削除
  1. 1 1
      src/main/java/com/jeeplus/modules/projectAccessory/web/ProjectAccessoryController.java
  2. 18 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralReportConsultant.java
  3. 13 14
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java
  4. 92 26
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewController.java
  5. 126 28
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewController.java
  6. 72 7
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java
  7. 136 35
      src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java
  8. 340 18
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  9. 160 232
      src/main/resources/freemarker/massControl.ftl
  10. 6 2
      src/main/resources/mappings/modules/projectcontentinfo/ProjectcontentinfoDao.xml
  11. 94 11
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/new/reportForm.jsp
  12. 94 9
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/new/reportModify.jsp
  13. 62 15
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAudit.jsp
  14. 96 11
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModify.jsp
  15. 96 10
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportForm.jsp
  16. 67 19
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageAudit.jsp
  17. 112 25
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageModify.jsp
  18. 16 12
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView.jsp
  19. 49 39
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp
  20. 124 0
      src/main/webapp/webpage/modules/sys/gridselectConsultantOpinion.jsp

+ 1 - 1
src/main/java/com/jeeplus/modules/projectAccessory/web/ProjectAccessoryController.java

@@ -387,4 +387,4 @@ public class ProjectAccessoryController extends BaseController {
 		}
 		return map;
 	}
-}
+}

+ 18 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralReportConsultant.java

@@ -16,6 +16,8 @@ public class RuralReportConsultant extends DataEntity<RuralReportConsultant> {
     private String major;           //专业
     private String wordnr;          //本人复制内容
     private String projectId;       //项目id
+    private String auditOpinion;          //审核意见
+    private String role;          //角色
 
     public String getZixunyuanId() {
         return zixunyuanId;
@@ -88,4 +90,20 @@ public class RuralReportConsultant extends DataEntity<RuralReportConsultant> {
     public void setZhucezigezhKey(String zhucezigezhKey) {
         this.zhucezigezhKey = zhucezigezhKey;
     }
+
+    public String getAuditOpinion() {
+        return auditOpinion;
+    }
+
+    public void setAuditOpinion(String auditOpinion) {
+        this.auditOpinion = auditOpinion;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
 }

+ 13 - 14
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -534,15 +534,26 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
         //删除上报咨询员信息
         projectcontentinfoDao.deleteConsultant(projectcontentinfo.getProjectOnRural().getId());
         //保存咨询员信息
-        for (RuralReportConsultant info : projectcontentinfo.getReportedConsultantList()){
+        //判定是否是第一个得参数
+        Integer consultantFlag = 0;
+        for (int i = 0; i<projectcontentinfo.getReportedConsultantList().size();i++){
+            RuralReportConsultant info = projectcontentinfo.getReportedConsultantList().get(i);
             if (info.getZixunyuan() == null){
                 continue;
             }
+            consultantFlag ++;
+            if(1 == consultantFlag){
+                //第一个有效数据为负责人信息,同步到项目表信息中
+                //将项目表中的项目负责人信息修改
+                RuralProjectRecords projectRecords = new RuralProjectRecords();
+                projectRecords.setId(ruralProjectRecords.getId());
+                projectRecords.setProjectMasterId(info.getZixunyuan());
+                ruralProjectRecordsService.updateProjectMaster(projectRecords);
+            }
             //添加项目id
             info.setProjectId(projectcontentinfo.getProjectOnRural().getId());
             info.preInsert();
             projectcontentinfoDao.insertConsultant(info);
-
         }
         //工作报告
         if (projectcontentinfo.getProjectReportData()!=null){
@@ -1113,13 +1124,6 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
         projectReportData.setPrincipalRemarks(reportData.getPrincipalRemarks());
         projectReportDataDao.update(projectReportData);
 
-
-        //将项目表中的项目负责人信息修改
-        RuralProjectRecords ruralProjectRecords = new RuralProjectRecords();
-        ruralProjectRecords.setId(projectRecords.getId());
-        ruralProjectRecords.setProjectMasterId(projectReportData.getPrincipal().getId());
-        ruralProjectRecordsService.updateProjectMaster(ruralProjectRecords);
-
         return "保存审核意见成功!";
     }
 
@@ -1384,11 +1388,6 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
         }else {
             projectReportDataService.save(projectReportData);
         }
-        //将项目表中的项目负责人信息修改
-        RuralProjectRecords ruralProjectRecords = new RuralProjectRecords();
-        ruralProjectRecords.setId(projectRecords.getId());
-        ruralProjectRecords.setProjectMasterId(projectReportData.getPrincipal().getId());
-        ruralProjectRecordsService.updateProjectMaster(ruralProjectRecords);
         if (com.jeeplus.common.utils.StringUtils.isNotBlank(workActivityMenu.getId())) {
             workProjectNotify.setNotifyRole("");
             workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());

+ 92 - 26
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewController.java

@@ -22,7 +22,6 @@ import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReporte
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewService;
-import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
@@ -47,6 +46,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -196,6 +196,7 @@ public class RuralCostProjectMessageNewController extends BaseController {
         List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
         for (WorkStaffCertificate certificateInfo: userCertificateList) {
             currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
             for (MainDictDetail type : certificateMajor) {
                 if(certificateInfo.getMajor().equals(type.getValue())){
                     currentConsultant.setMajor(type.getLabel());
@@ -203,25 +204,40 @@ public class RuralCostProjectMessageNewController extends BaseController {
             }
             User currentUser=userService.get(records.getProjectMasterId());
             currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
             consultants.add(currentConsultant);
         }
         //根据项目id查找报告咨询员信息
         List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
-        for (RuralReportConsultant consultant:consultantList){
-            //根据用户查询技能信息
-            List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-            for (WorkStaffCertificate certificateInfo: certificateList) {
-                if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                    consultant.setZhucezigezhID(certificateInfo.getNum());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-                for (MainDictDetail type : certificateMajor) {
-                    if(certificateInfo.getMajor().equals(type.getValue())){
-                        consultant.setMajor(type.getLabel());
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
                     }
                 }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setZixunyuanName(user.getName());
             }
-            User user=userService.get(consultant.getZixunyuan());
-            consultant.setZixunyuanName(user.getName());
         }
         consultants.addAll(consultantList);
         model.addAttribute("info", consultants);
@@ -257,26 +273,64 @@ public class RuralCostProjectMessageNewController extends BaseController {
         }
         Projectcontentinfo projectcontent = projectcontentinfoService.getByInfoId(projectReportData.getId());
         projectcontent.setProjectReportData(projectReportData);
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+        }
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        for (WorkStaffCertificate certificateInfo: userCertificateList) {
+            currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+            for (MainDictDetail type : certificateMajor) {
+                if(certificateInfo.getMajor().equals(type.getValue())){
+                    currentConsultant.setMajor(type.getLabel());
+                }
+            }
+            User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
         //根据项目id查找报告咨询员信息
-        List<RuralReportConsultant> consultants = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
-        for (RuralReportConsultant consultant:consultants){
-            //根据用户查询技能信息
-            List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-            //获取专业类型
-            List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
-            for (WorkStaffCertificate certificateInfo: certificateList) {
-                if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                    consultant.setZhucezigezhID(certificateInfo.getNum());
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-                for (MainDictDetail type : certificateMajor) {
-                    if(certificateInfo.getMajor().equals(type.getValue())){
-                        consultant.setMajor(type.getLabel());
+                it.remove();
+            }else if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
                     }
                 }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setZixunyuanName(user.getName());
             }
-            User user=userService.get(consultant.getZixunyuan());
-            consultant.setZixunyuanName(user.getName());
         }
+        consultants.addAll(consultantList);
         ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
         //添加项目类型
         relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
@@ -701,4 +755,16 @@ public class RuralCostProjectMessageNewController extends BaseController {
         }
         return  act;
     }
+
+
+    /**
+     * 选择报销项目
+     */
+    @RequestMapping(value = "selectReproject")
+    public String selectReproject(String auditOpinion, Model model) {
+        ProjectReportData projectReportData = new ProjectReportData();
+        model.addAttribute("auditOpinion",auditOpinion);
+        model.addAttribute("projectReportData",projectReportData);
+        return "modules/sys/gridselectConsultantOpinion";
+    }
 }

+ 126 - 28
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewController.java

@@ -10,6 +10,7 @@ import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
+import com.jeeplus.modules.projectcontentinfo.dao.ProjectcontentinfoDao;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportChangeService;
@@ -47,6 +48,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -79,6 +81,8 @@ public class RuralProjectMessageNewController extends BaseController {
     private UserService userService;
     @Autowired
     private RuralProjectRecordsService ruralProjectRecordsService;
+    @Autowired
+    private ProjectcontentinfoDao projectcontentinfoDao;
 
     @ModelAttribute
     public RuralProjectRecords get(@RequestParam(required=false) String id) {
@@ -187,6 +191,63 @@ public class RuralProjectMessageNewController extends BaseController {
         if(null == projectcontentinfo.getProjectReportData().getPrincipal()){
             projectcontentinfo.getProjectReportData().setPrincipal(UserUtils.getUser());
         }
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(records.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(records.getProjectMasterId());
+        }
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        for (WorkStaffCertificate certificateInfo: userCertificateList) {
+            currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+            for (MainDictDetail type : certificateMajor) {
+                if(certificateInfo.getMajor().equals(type.getValue())){
+                    currentConsultant.setMajor(type.getLabel());
+                }
+            }
+            User currentUser=userService.get(records.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
+        //根据项目id查找报告咨询员信息
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
+                    }
+                }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setZixunyuanName(user.getName());
+            }
+        }
+        consultants.addAll(consultantList);
+        model.addAttribute("info", consultants);
         //添加当前文件服务器类型
         projectcontentinfo.setUploadMode(uploadMode);
         model.addAttribute("projectRecords", records);
@@ -218,26 +279,64 @@ public class RuralProjectMessageNewController extends BaseController {
         }
         Projectcontentinfo projectcontent = projectcontentinfoService.getByInfoId(projectReportData.getId());
         projectcontent.setProjectReportData(projectReportData);
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+        }
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        for (WorkStaffCertificate certificateInfo: userCertificateList) {
+            currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+            for (MainDictDetail type : certificateMajor) {
+                if(certificateInfo.getMajor().equals(type.getValue())){
+                    currentConsultant.setMajor(type.getLabel());
+                }
+            }
+            User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
         //根据项目id查找报告咨询员信息
-        List<RuralReportConsultant> consultants = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
-        for (RuralReportConsultant consultant:consultants){
-            //根据用户查询技能信息
-            List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-            //获取专业类型
-            List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
-            for (WorkStaffCertificate certificateInfo: certificateList) {
-                if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                    consultant.setZhucezigezhID(certificateInfo.getNum());
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-                for (MainDictDetail type : certificateMajor) {
-                    if(certificateInfo.getMajor().equals(type.getValue())){
-                        consultant.setMajor(type.getLabel());
+                it.remove();
+            }else if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
                     }
                 }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setZixunyuanName(user.getName());
             }
-            User user=userService.get(consultant.getZixunyuan());
-            consultant.setZixunyuanName(user.getName());
         }
+        consultants.addAll(consultantList);
         ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
         //添加项目类型
         relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
@@ -326,20 +425,6 @@ public class RuralProjectMessageNewController extends BaseController {
                 Act act = getByAct(projectReportData.getProcessInstanceId());
                 projectReportData.setAct(act);
             }
-            //根据项目id查找咨询员信息
-            List<RuralReportConsultant> consultantList=ruralProjectMessageService.getConsultantsList(projectcontentinfo1.getProject().getId());
-            for (RuralReportConsultant consultant:consultantList){
-                //根据用户查询技能信息
-                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-                for (WorkStaffCertificate certificateInfo: certificateList) {
-                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                        consultant.setZhucezigezhID(certificateInfo.getNum());
-                    }
-                }
-                User user=userService.get(consultant.getZixunyuan());
-                consultant.setZixunyuanName(user.getName());
-            }
-            model.addAttribute("consultantinfo", consultantList);
             return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModify";
         }
         return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportForm";
@@ -526,6 +611,19 @@ public class RuralProjectMessageNewController extends BaseController {
             Act act = getByAct(projectReportData.getProcessInstanceId());
             projectReportData.setAct(act);
         }
+        //删除上报咨询员信息
+        projectcontentinfoDao.deleteConsultant(projectcontentinfo.getProject().getId());
+        //保存咨询员信息
+        for (RuralReportConsultant info : projectcontentinfo.getReportedConsultantList()){
+            if (info.getZixunyuan() == null){
+                continue;
+            }
+            //添加项目id
+            info.setProjectId(projectcontentinfo.getProject().getId());
+            info.preInsert();
+            projectcontentinfoDao.insertConsultant(info);
+
+        }
         ProjectReportData t = projectReportDataService.getOnRural(projectReportData.getId());//从数据库取出记录的值
         if(null != saveAuditFlag){
             if(1 == saveAuditFlag && !t.getStatus().equals("4") && !t.getStatus().equals("5")){

+ 72 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.ruralprojectrecords.web;
 import com.google.common.collect.Lists;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.utils.MyBeanUtils;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.alterinfo.entity.AlterInfo;
@@ -22,10 +23,7 @@ import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService
 import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReported;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
-import com.jeeplus.modules.ruralprojectrecords.entity.SubProjectInfo;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.ruralprojectrecords.service.SubProjectInfoService;
@@ -42,6 +40,7 @@ import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
+import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -57,6 +56,7 @@ import java.util.Arrays;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -306,6 +306,73 @@ public class RuralProjectViewController extends BaseController {
 //
 //        }
         /*}*/
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+        }
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        for (WorkStaffCertificate certificateInfo: userCertificateList) {
+            currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+            for (MainDictDetail type : certificateMajor) {
+                if(certificateInfo.getMajor().equals(type.getValue())){
+                    currentConsultant.setMajor(type.getLabel());
+                }
+            }
+            User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
+        //查询总审人员信息
+        RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+        //根据项目id查找报告咨询员信息
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectcontentinfo.getProjectId());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
+                    }
+                }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setRole("咨询员");
+                consultant.setZixunyuanName(user.getName());
+                if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                    bzshbConsultant = consultant;
+                    it.remove();
+                }
+            }
+        }
+        consultants.addAll(consultantList);
+
+
+        bzshbConsultant.setRole("技术负责人");
+        consultants.add(bzshbConsultant);
 
         //查询总审人员信息
         List<User> auditUserList = userService.getAuditUserList();
@@ -318,6 +385,7 @@ public class RuralProjectViewController extends BaseController {
         model.addAttribute("projectRecords", ruralProjectRecords);
         model.addAttribute("id", projectcontentinfo.getId());
         model.addAttribute("projectcontentinfo", projectcontent);
+        model.addAttribute("consultantinfo", consultants);
         //获取是否含有上报信息
         RuralProjectRecordsReported reported = ruralProjectMessageService.getRuralProjectRecordsReportedById(projectcontentinfo.getReportedId());
         if(null != reported){
@@ -333,9 +401,6 @@ public class RuralProjectViewController extends BaseController {
                 }
             }
         }
-//            projectcontent.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontent.getFileAttachmentList()));
-//            projectcontent.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontent.getFileGistdataList()));
-//            projectcontent.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontent.getFileOtherList()));
         return "modules/ruralprojectrecords/view/reportView";
     }
 

+ 136 - 35
src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java

@@ -21,11 +21,13 @@ import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.service.SystemService;
+import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.tools.utils.TwoDimensionCode;
@@ -45,6 +47,7 @@ import com.jeeplus.modules.workproject.entity.WorkProject;
 import com.jeeplus.modules.workproject.service.WorkProjectService;
 import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workprojectnotify.util.UtilNotify;
+import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
 import freemarker.template.Configuration;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.shiro.authz.annotation.Logical;
@@ -94,6 +97,10 @@ public class WorkFullManageController extends BaseController {
 
 	@Autowired
 	private WorkContractInfoService workContractInfoService;
+	@Autowired
+	private RuralProjectMessageNewService ruralProjectMessageService;
+	@Autowired
+	private UserService userService;
 
 	@Autowired
 	private SystemService systemService;
@@ -885,25 +892,109 @@ public class WorkFullManageController extends BaseController {
 
 		//获取合同信息
 		WorkContractInfo workContractInfo = workContractInfoService.get(ruralProjectRecords.getWorkContractInfo().getId());
-		//获取咨询员信息
+
+		List<RuralReportConsultant> consultants = Lists.newArrayList();
+		//将自己添加到咨询员数据中
+		//根据用户查询技能信息(项目负责人信息)
+		RuralReportConsultant currentConsultant = new RuralReportConsultant();
+		//查询总审人员信息
+		RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+		List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+		if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+			userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+		}
+		//获取专业类型
+		List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+		for (WorkStaffCertificate certificateInfo: userCertificateList) {
+			currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+			currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+			for (MainDictDetail type : certificateMajor) {
+				if(certificateInfo.getMajor().equals(type.getValue())){
+					currentConsultant.setMajor(type.getLabel());
+				}
+			}
+			User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+			currentConsultant.setZixunyuanName(currentUser.getName());
+			currentConsultant.setZixunyuan(currentUser.getId());
+			currentConsultant.setRole("负责人");
+			consultants.add(currentConsultant);
+		}
+		//根据项目id查找报告咨询员信息
+		List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(ruralProjectRecords.getId());
+		Iterator<RuralReportConsultant> it = consultantList.iterator();
+		while(it.hasNext()){
+			RuralReportConsultant consultant = it.next();
+			if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+				try {
+					MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				it.remove();
+			}else if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+				List<WorkStaffCertificate> bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+				for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+					bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+					bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+					for (MainDictDetail dictType : certificateMajor) {
+						if(certificateInfo.getMajor().equals(dictType.getValue())){
+							bzshbConsultant.setMajor(dictType.getLabel());
+						}
+					}
+					User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+					bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+					bzshbConsultant.setZixunyuan(bzshbUser.getId());
+					bzshbConsultant.setRole("技术负责人");
+				}
+				try {
+					MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				it.remove();
+			}else{
+				//根据用户查询技能信息
+				List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+				for (WorkStaffCertificate certificateInfo: certificateList) {
+					if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+						consultant.setZhucezigezhID(certificateInfo.getNum());
+					}
+					for (MainDictDetail type : certificateMajor) {
+						if(certificateInfo.getMajor().equals(type.getValue())){
+							consultant.setMajor(type.getLabel());
+						}
+					}
+				}
+				User user=userService.get(consultant.getZixunyuan());
+				consultant.setZixunyuanName(user.getName());
+			}
+		}
+		consultants.addAll(consultantList);
+
+
+
+
+
+		/*//获取咨询员信息
 		List<RuralReportConsultant> consultantList = projectReportDataService.getConsultantList(ruralProjectRecords.getId());
+		//获取专业类型
+		List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");*/
 		//根据 职业资格名称查询字典表并比对当前人员是否已添加该职业资格信息
 		List<MainDictDetail> certificateType = DictUtils.getMainDictList("certificate_type");
-		//获取专业类型
-		List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
-		for (RuralReportConsultant entity: consultantList) {
+		for (RuralReportConsultant entity: consultants) {
 			for (MainDictDetail type : certificateType) {
-				if(entity.getZhucezigezhID().equals(type.getValue())){
+				if(entity.getZhucezigezhKey().equals(type.getValue())){
 					entity.setZhucezigezh(type.getLabel());
 					break;
 				}
 			}
-			for (MainDictDetail type : certificateMajor) {
+			//处理咨询员专业
+			/*for (MainDictDetail type : certificateMajor) {
 				if(entity.getMajor().equals(type.getValue())){
 					entity.setMajor(type.getLabel());
 					break;
 				}
-			}
+			}*/
 			if(StringUtils.isBlank(entity.getZhucezigezh())){
 				entity.setZhucezigezh("");
 			}
@@ -962,21 +1053,21 @@ public class WorkFullManageController extends BaseController {
 		data.put("promiseTime",promiseTime);
 		data.put("projectMaster",ruralProjectRecords.getLeaderNameStr());
 		//咨询员信息
-		if(null != consultantList){
-			for (int i = 0; i<consultantList.size(); i++){
+		if(null != consultants){
+			for (int i = 0; i<consultants.size(); i++){
 				if (i >=6){
 					break;
 				}
-				data.put("consultantName"+i,consultantList.get(i).getZixunyuanName());
-				if(StringUtils.isBlank(consultantList.get(i).getMajor())){
+				data.put("consultantName"+i,consultants.get(i).getZixunyuanName());
+				if(StringUtils.isBlank(consultants.get(i).getMajor())){
 					data.put("consultantProfession"+i,"");
 				}else{
-					data.put("consultantProfession"+i,consultantList.get(i).getMajor());
+					data.put("consultantProfession"+i,consultants.get(i).getMajor());
 				}
-				data.put("consultantQualification"+i,consultantList.get(i).getZhucezigezh());
+				data.put("consultantQualification"+i,consultants.get(i).getZhucezigezh());
 			}
-			if(consultantList.size()<6){
-				for (int i = consultantList.size(); i<6; i++){
+			if(consultants.size()<6){
+				for (int i = consultants.size(); i<6; i++){
 					data.put("consultantName"+i,"");
 					data.put("consultantProfession"+i,"");
 					data.put("consultantQualification"+i,"");
@@ -989,14 +1080,18 @@ public class WorkFullManageController extends BaseController {
 				data.put("consultantQualification"+i,"");
 			}
 		}
-		if(null != projectReportData.getPrincipalDate()){
-			Map consultantMap = dateCalendar(projectReportData.getConsultantDate());
+		//专业咨询员处理(添加序号)
+		for(int i = 1; i <=consultantList.size();i++){
+			consultantList.get(i-1).setId(i+"");
+		}
+		data.put("list",consultantList);
+		/*if(null != projectReportData.getPrincipalDate()){
 			//专业咨询员
-			data.put("consultantName",projectReportData.getConsultant().getName());
-			data.put("consultantRemarks",projectReportData.getConsultantRemarks());
-			data.put("consultantYear",consultantMap.get("year"));
-			data.put("consultantMonth",consultantMap.get("month"));
-			data.put("consultantDay",consultantMap.get("day"));
+			data.put("consultantName",currentConsultant.getZixunyuanName());
+			data.put("consultantRemarks",currentConsultant.getAuditOpinion());
+			data.put("consultantYear","");
+			data.put("consultantMonth","");
+			data.put("consultantDay","");
 		}else{
 			//专业咨询员
 			data.put("consultantName","");
@@ -1004,16 +1099,19 @@ public class WorkFullManageController extends BaseController {
 			data.put("consultantYear","");
 			data.put("consultantMonth","");
 			data.put("consultantDay","");
-		}
+		}*/
 
 		if(null != projectReportData.getPrincipalDate()){
-			Map principalMap = dateCalendar(projectReportData.getPrincipalDate());
 			//项目负责人
-			data.put("projectMaster",projectReportData.getPrincipal().getName());
-			data.put("projectMasterRemarks",projectReportData.getPrincipalRemarks());
-			data.put("projectYear",principalMap.get("year"));
-			data.put("projectMonth",principalMap.get("month"));
-			data.put("projectDay",principalMap.get("day"));
+			data.put("projectMaster",currentConsultant.getZixunyuanName());
+			if(StringUtils.isBlank(currentConsultant.getAuditOpinion())){
+				data.put("projectMasterRemarks","");
+			}else{
+				data.put("projectMasterRemarks",currentConsultant.getAuditOpinion());
+			}
+			data.put("projectYear","");
+			data.put("projectMonth","");
+			data.put("projectDay","");
 		}else{
 			//项目负责人
 			data.put("projectMaster","");
@@ -1024,13 +1122,16 @@ public class WorkFullManageController extends BaseController {
 		}
 
 		if(null != projectReportData.getTechnicistDate()){
-			Map technicistMap = dateCalendar(projectReportData.getTechnicistDate());
 			//技术负责人
-			data.put("technicistName",projectReportData.getTechnicist().getName());
-			data.put("technicistRemarks",projectReportData.getTechnicistRemarks());
-			data.put("technicistYear",technicistMap.get("year"));
-			data.put("technicistMonth",technicistMap.get("month"));
-			data.put("technicistDay",technicistMap.get("day"));
+			data.put("technicistName",bzshbConsultant.getZixunyuanName());
+			if(StringUtils.isBlank(bzshbConsultant.getAuditOpinion())){
+				data.put("technicistRemarks","");
+			}else{
+				data.put("technicistRemarks",bzshbConsultant.getAuditOpinion());
+			}
+			data.put("technicistYear","");
+			data.put("technicistMonth","");
+			data.put("technicistDay","");
 		}else{
 			//技术负责人
 			data.put("technicistName","");

+ 340 - 18
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1898,18 +1898,64 @@ public class WorkProjectNotifyController extends BaseController {
 						}
 					}
 					//根据项目id查找咨询员信息
-					List<RuralReportConsultant> consultants=ruralProjectMessageService.getConsultantsList(projectReportData.getProject().getId());
-					for (RuralReportConsultant consultant:consultants){
-						//根据用户查询技能信息
-						List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-						for (WorkStaffCertificate certificateInfo: certificateList) {
-							if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-								consultant.setZhucezigezhID(certificateInfo.getNum());
+					List<RuralReportConsultant> consultants = Lists.newArrayList();
+					//将自己添加到咨询员数据中
+					//根据用户查询技能信息
+					RuralReportConsultant currentConsultant = new RuralReportConsultant();
+					List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+					if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+						userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+					}
+					//获取专业类型
+					List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+					for (WorkStaffCertificate certificateInfo: userCertificateList) {
+						currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+						currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+						for (MainDictDetail type : certificateMajor) {
+							if(certificateInfo.getMajor().equals(type.getValue())){
+								currentConsultant.setMajor(type.getLabel());
 							}
 						}
-						User user=userService.get(consultant.getZixunyuan());
-						consultant.setZixunyuanName(user.getName());
+						User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+						currentConsultant.setZixunyuanName(currentUser.getName());
+						currentConsultant.setZixunyuan(currentUser.getId());
+						currentConsultant.setRole("负责人");
+						consultants.add(currentConsultant);
+					}
+					//根据项目id查找报告咨询员信息
+					List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectReportData.getProject().getId());
+					//使用迭代器去除重复信息
+					//排除 重新申请|撤销
+					Iterator<RuralReportConsultant> it = consultantList.iterator();
+					while(it.hasNext()){
+						RuralReportConsultant consultant = it.next();
+						if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+							try {
+								MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
+							it.remove();
+						}else{
+							//根据用户查询技能信息
+							List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+							for (WorkStaffCertificate certificateInfo: certificateList) {
+								if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+									consultant.setZhucezigezhID(certificateInfo.getNum());
+								}
+								for (MainDictDetail type : certificateMajor) {
+									if(certificateInfo.getMajor().equals(type.getValue())){
+										consultant.setMajor(type.getLabel());
+									}
+								}
+							}
+							User user=userService.get(consultant.getZixunyuan());
+							consultant.setZixunyuanName(user.getName());
+							consultant.setRole("咨询员");
+						}
 					}
+					consultants.addAll(consultantList);
+
 
 					//根据条件查询附件必填项
 					//判断项目类别是否为打包项目(1:打包项目,0:非打包项目)
@@ -2020,19 +2066,135 @@ public class WorkProjectNotifyController extends BaseController {
 					List<WorkReviewAudit> workReviewAudits = workReviewStandardService.findAuditList(workReviewAudit);
 					model.addAttribute("type", type);
 					model.addAttribute("list", workReviewAudits);
+
+
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView";
 					}else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageAudit";
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+								itView.remove();
+							}
+						}
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageModify";
 					} else {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
@@ -2061,18 +2223,63 @@ public class WorkProjectNotifyController extends BaseController {
 						}
 					}
 					//根据项目id查找咨询员信息
-					List<RuralReportConsultant> consultants=ruralProjectMessageService.getConsultantsList(projectReportData.getProject().getId());
-					for (RuralReportConsultant consultant:consultants){
-						//根据用户查询技能信息
-						List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-						for (WorkStaffCertificate certificateInfo: certificateList) {
-							if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-								consultant.setZhucezigezhID(certificateInfo.getNum());
+					List<RuralReportConsultant> consultants = Lists.newArrayList();
+					//将自己添加到咨询员数据中
+					//根据用户查询技能信息
+					RuralReportConsultant currentConsultant = new RuralReportConsultant();
+					List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+					if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+						userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+					}
+					//获取专业类型
+					List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+					for (WorkStaffCertificate certificateInfo: userCertificateList) {
+						currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+						currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+						for (MainDictDetail type : certificateMajor) {
+							if(certificateInfo.getMajor().equals(type.getValue())){
+								currentConsultant.setMajor(type.getLabel());
+							}
+						}
+						User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+						currentConsultant.setZixunyuanName(currentUser.getName());
+						currentConsultant.setZixunyuan(currentUser.getId());
+						currentConsultant.setRole("负责人");
+						consultants.add(currentConsultant);
+					}
+					//根据项目id查找报告咨询员信息
+					List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectReportData.getProject().getId());
+					//使用迭代器去除重复信息
+					//排除 重新申请|撤销
+					Iterator<RuralReportConsultant> it = consultantList.iterator();
+					while(it.hasNext()){
+						RuralReportConsultant consultant = it.next();
+						if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+							try {
+								MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
+							it.remove();
+						}else{
+							//根据用户查询技能信息
+							List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+							for (WorkStaffCertificate certificateInfo: certificateList) {
+								if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+									consultant.setZhucezigezhID(certificateInfo.getNum());
+								}
+								for (MainDictDetail type : certificateMajor) {
+									if(certificateInfo.getMajor().equals(type.getValue())){
+										consultant.setMajor(type.getLabel());
+									}
+								}
 							}
+							User user=userService.get(consultant.getZixunyuan());
+							consultant.setZixunyuanName(user.getName());
+							consultant.setRole("咨询员");
 						}
-						User user=userService.get(consultant.getZixunyuan());
-						consultant.setZixunyuanName(user.getName());
 					}
+					consultants.addAll(consultantList);
 
 					//根据条件查询附件必填项
 					//判断项目类别是否为打包项目(1:打包项目,0:非打包项目)
@@ -2142,6 +2349,7 @@ public class WorkProjectNotifyController extends BaseController {
 					model.addAttribute("projectcontentinfo", projectcontentinfo);
 					model.addAttribute("projectRecords", ruralProjectRecords);
 					model.addAttribute("consultantinfo", consultants);
+					model.addAttribute("consultantCount", consultants.size());
 					model.addAttribute("subProjectInfos", subProjectInfos);
 					model.addAttribute("workContractInfo", workContractInfo);
 					WorkReviewAudit workReviewAudit = new WorkReviewAudit();
@@ -2165,18 +2373,132 @@ public class WorkProjectNotifyController extends BaseController {
 					model.addAttribute("type", type);
 					model.addAttribute("list", workReviewAudits);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView";
 					}else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAudit";
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+								itView.remove();
+							}
+						}
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModify";
 					} else {
+						//查询总审人员信息
+						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+						if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+							bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+						}
+						for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+							bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+							bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+							for (MainDictDetail dictType : certificateMajor) {
+								if(certificateInfo.getMajor().equals(dictType.getValue())){
+									bzshbConsultant.setMajor(dictType.getLabel());
+								}
+							}
+							User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+							bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+							bzshbConsultant.setZixunyuan(bzshbUser.getId());
+							consultants.add(bzshbConsultant);
+						}
+						Iterator<RuralReportConsultant> itView = consultants.iterator();
+						while(itView.hasNext()){
+							RuralReportConsultant consultant = itView.next();
+							if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+								try {
+									MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+									bzshbConsultant.setRole("技术负责人");
+								} catch (Exception e) {
+									e.printStackTrace();
+								}
+								itView.remove();
+							}
+						}
+						consultants.add(bzshbConsultant);
+						model.addAttribute("consultantinfo", consultants);
+						model.addAttribute("consultantCount", consultants.size());
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));

+ 160 - 232
src/main/resources/freemarker/massControl.ftl

@@ -115,12 +115,12 @@
 						<w:tblGrid>
 							<w:gridCol w:w="1487"/>
 							<w:gridCol w:w="1102"/>
-							<w:gridCol w:w="1428"/>
-							<w:gridCol w:w="1113"/>
-							<w:gridCol w:w="1105"/>
-							<w:gridCol w:w="366"/>
-							<w:gridCol w:w="660"/>
-							<w:gridCol w:w="1225"/>
+							<w:gridCol w:w="1090"/>
+							<w:gridCol w:w="1327"/>
+							<w:gridCol w:w="1080"/>
+							<w:gridCol w:w="515"/>
+							<w:gridCol w:w="573"/>
+							<w:gridCol w:w="1312"/>
 						</w:tblGrid>
 						<w:tr>
 							<w:tblPrEx>
@@ -179,7 +179,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="3643" w:type="dxa"/>
+									<w:tcW w:w="3519" w:type="dxa"/>
 									<w:gridSpan w:val="3"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -216,7 +216,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1471" w:type="dxa"/>
+									<w:tcW w:w="1595" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -341,7 +341,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="3643" w:type="dxa"/>
+									<w:tcW w:w="3519" w:type="dxa"/>
 									<w:gridSpan w:val="3"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -378,7 +378,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1471" w:type="dxa"/>
+									<w:tcW w:w="1595" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -503,7 +503,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="3643" w:type="dxa"/>
+									<w:tcW w:w="3519" w:type="dxa"/>
 									<w:gridSpan w:val="3"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -540,7 +540,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1471" w:type="dxa"/>
+									<w:tcW w:w="1595" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
@@ -696,7 +696,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1428" w:type="dxa"/>
+									<w:tcW w:w="1090" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -730,7 +730,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1113" w:type="dxa"/>
+									<w:tcW w:w="1327" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -764,7 +764,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1105" w:type="dxa"/>
+									<w:tcW w:w="1080" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -798,7 +798,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1026" w:type="dxa"/>
+									<w:tcW w:w="1088" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
@@ -833,7 +833,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1225" w:type="dxa"/>
+									<w:tcW w:w="1312" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -942,7 +942,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1428" w:type="dxa"/>
+									<w:tcW w:w="1090" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -976,7 +976,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1113" w:type="dxa"/>
+									<w:tcW w:w="1327" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1010,7 +1010,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1105" w:type="dxa"/>
+									<w:tcW w:w="1080" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1047,7 +1047,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1026" w:type="dxa"/>
+									<w:tcW w:w="1088" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
@@ -1082,7 +1082,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1225" w:type="dxa"/>
+									<w:tcW w:w="1312" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -1191,7 +1191,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1428" w:type="dxa"/>
+									<w:tcW w:w="1090" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -1221,13 +1221,11 @@
 										</w:rPr>
 										<w:t>${consultantProfession2}</w:t>
 									</w:r>
-									<w:bookmarkStart w:id="0" w:name="_GoBack"/>
-									<w:bookmarkEnd w:id="0"/>
 								</w:p>
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1113" w:type="dxa"/>
+									<w:tcW w:w="1327" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1260,7 +1258,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1105" w:type="dxa"/>
+									<w:tcW w:w="1080" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1294,7 +1292,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1026" w:type="dxa"/>
+									<w:tcW w:w="1088" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
@@ -1329,7 +1327,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1225" w:type="dxa"/>
+									<w:tcW w:w="1312" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -1421,9 +1419,10 @@
 										<w:widowControl/>
 										<w:jc w:val="center"/>
 										<w:rPr>
-											<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Arial"/>
 											<w:kern w:val="0"/>
 											<w:sz w:val="20"/>
+											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
 										</w:rPr>
 									</w:pPr>
 									<w:r>
@@ -1439,7 +1438,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1428" w:type="dxa"/>
+									<w:tcW w:w="1090" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -1476,7 +1475,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1113" w:type="dxa"/>
+									<w:tcW w:w="1327" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1491,9 +1490,10 @@
 										<w:widowControl/>
 										<w:jc w:val="center"/>
 										<w:rPr>
-											<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Arial"/>
 											<w:kern w:val="0"/>
 											<w:sz w:val="20"/>
+											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
 										</w:rPr>
 									</w:pPr>
 									<w:r>
@@ -1509,7 +1509,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1105" w:type="dxa"/>
+									<w:tcW w:w="1080" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
 										<w:left w:val="nil"/>
@@ -1528,9 +1528,10 @@
 										</w:tabs>
 										<w:jc w:val="center"/>
 										<w:rPr>
-											<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Arial"/>
 											<w:kern w:val="0"/>
 											<w:sz w:val="20"/>
+											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
 										</w:rPr>
 									</w:pPr>
 									<w:r>
@@ -1546,7 +1547,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1026" w:type="dxa"/>
+									<w:tcW w:w="1088" w:type="dxa"/>
 									<w:gridSpan w:val="2"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
@@ -1581,7 +1582,7 @@
 							</w:tc>
 							<w:tc>
 								<w:tcPr>
-									<w:tcW w:w="1225" w:type="dxa"/>
+									<w:tcW w:w="1312" w:type="dxa"/>
 									<w:tcBorders>
 										<w:top w:val="nil"/>
 										<w:left w:val="nil"/>
@@ -1722,195 +1723,113 @@
 										</w:rPr>
 									</w:pPr>
 								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-									<w:r>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-										<w:t>专业咨询员1签名(并盖资格章):${consultantName}</w:t>
-									</w:r>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-									<w:r>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-										<w:t>${consultantRemarks}</w:t>
-									</w:r>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="right"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-									<w:r>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-										<w:t>日期:  年   月   日</w:t>
-									</w:r>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="right"/>
-										<w:rPr>
-											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-									<w:r>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-										<w:t>专业咨询员2签名(并盖资格章):</w:t>
-									</w:r>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="left"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="right"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-									<w:r>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-										<w:t>日期:  年   月   日</w:t>
-									</w:r>
-								</w:p>
-								<w:p>
-									<w:pPr>
-										<w:widowControl/>
-										<w:jc w:val="right"/>
-										<w:rPr>
-											<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-											<w:kern w:val="0"/>
-											<w:sz w:val="20"/>
-											<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-										</w:rPr>
-									</w:pPr>
-								</w:p>
+
+
+
+								<#list list as list>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="left"/>
+											<w:rPr>
+												<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+										<w:r>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+											<w:t>专业咨询员${list.id}签名(并盖资格章):${list.zixunyuanName}</w:t>
+										</w:r>
+									</w:p>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="left"/>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+										<w:bookmarkStart w:id="0" w:name="_GoBack"/>
+										<w:bookmarkEnd w:id="0"/>
+									</w:p>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="left"/>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+										<w:r>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+											<w:t>${list.auditOpinion}</w:t>
+										</w:r>
+									</w:p>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="left"/>
+											<w:rPr>
+												<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+									</w:p>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="right"/>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+										<w:r>
+											<w:rPr>
+												<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+											<w:t>日期:  年   月   日</w:t>
+										</w:r>
+									</w:p>
+									<w:p>
+										<w:pPr>
+											<w:widowControl/>
+											<w:jc w:val="right"/>
+											<w:rPr>
+												<w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
+												<w:kern w:val="0"/>
+												<w:sz w:val="20"/>
+												<w:lang w:val="en-US" w:eastAsia="zh-CN"/>
+											</w:rPr>
+										</w:pPr>
+									</w:p>
+								</#list>
+
 							</w:tc>
 						</w:tr>
 						<w:tr>
@@ -2405,11 +2324,11 @@
 				<Characters>0</Characters>
 				<Lines>0</Lines>
 				<Paragraphs>0</Paragraphs>
-				<TotalTime>1</TotalTime>
+				<TotalTime>3</TotalTime>
 				<ScaleCrop>false</ScaleCrop>
 				<LinksUpToDate>false</LinksUpToDate>
 				<CharactersWithSpaces>0</CharactersWithSpaces>
-				<Application>WPS Office_11.1.0.10356_F1E327BC-269C-435d-A152-05C5408002CA</Application>
+				<Application>WPS Office_11.1.0.10495_F1E327BC-269C-435d-A152-05C5408002CA</Application>
 				<DocSecurity>0</DocSecurity>
 			</Properties>
 		</pkg:xmlData>
@@ -2420,7 +2339,7 @@
 				<dcterms:created xsi:type="dcterms:W3CDTF">2021-03-22T01:55:00Z</dcterms:created>
 				<dc:creator>大猫~</dc:creator>
 				<cp:lastModifiedBy>大猫~</cp:lastModifiedBy>
-				<dcterms:modified xsi:type="dcterms:W3CDTF">2021-04-19T06:58:15Z</dcterms:modified>
+				<dcterms:modified xsi:type="dcterms:W3CDTF">2021-05-18T01:38:03Z</dcterms:modified>
 				<cp:revision>1</cp:revision>
 			</cp:coreProperties>
 		</pkg:xmlData>
@@ -2429,10 +2348,10 @@
 		<pkg:xmlData>
 			<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
 				<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="KSOProductBuildVer">
-					<vt:lpwstr>2052-11.1.0.10356</vt:lpwstr>
+					<vt:lpwstr>2052-11.1.0.10495</vt:lpwstr>
 				</property>
 				<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="3" name="ICV">
-					<vt:lpwstr>27399B558CAD4FC99D7B2C1B29E6C134</vt:lpwstr>
+					<vt:lpwstr>C912E9F4A91E40D68B58EEA0EA80D56F</vt:lpwstr>
 				</property>
 			</Properties>
 		</pkg:xmlData>
@@ -2528,22 +2447,31 @@
 				<w:rsids>
 					<w:rsidRoot w:val="1812586B"/>
 					<w:rsid w:val="016567B5"/>
+					<w:rsid w:val="01E71702"/>
 					<w:rsid w:val="032333F3"/>
+					<w:rsid w:val="07EE26A8"/>
 					<w:rsid w:val="0B027A1A"/>
 					<w:rsid w:val="16FB3A5B"/>
 					<w:rsid w:val="1812586B"/>
+					<w:rsid w:val="21992C8A"/>
 					<w:rsid w:val="21F8571E"/>
+					<w:rsid w:val="24040933"/>
 					<w:rsid w:val="25765D18"/>
 					<w:rsid w:val="2B3B7DE6"/>
+					<w:rsid w:val="376151E7"/>
 					<w:rsid w:val="38715395"/>
+					<w:rsid w:val="3C097502"/>
 					<w:rsid w:val="453D7077"/>
+					<w:rsid w:val="47F53A2D"/>
 					<w:rsid w:val="51706E02"/>
 					<w:rsid w:val="530A5846"/>
+					<w:rsid w:val="53764D0E"/>
 					<w:rsid w:val="5A83739A"/>
 					<w:rsid w:val="5BF750DC"/>
 					<w:rsid w:val="5D724841"/>
 					<w:rsid w:val="64841AF2"/>
 					<w:rsid w:val="64A57C23"/>
+					<w:rsid w:val="7114280E"/>
 					<w:rsid w:val="772D18CC"/>
 					<w:rsid w:val="7B4A3DF7"/>
 					<w:rsid w:val="7CB5204E"/>
@@ -3122,4 +3050,4 @@
 			</a:theme>
 		</pkg:xmlData>
 	</pkg:part>
-</pkg:package>
+</pkg:package>

+ 6 - 2
src/main/resources/mappings/modules/projectcontentinfo/ProjectcontentinfoDao.xml

@@ -544,7 +544,8 @@
 			zhucezigezhID,
 			major,
 			wordnr,
-			projectId
+			projectId,
+			auditOpinion
 		)
 		values
 		(
@@ -558,7 +559,8 @@
 			#{zhucezigezhKey},
 			#{major},
 			#{wordnr},
-			#{projectId}
+			#{projectId},
+			#{auditOpinion}
 		) ;
 	</insert>
 
@@ -597,7 +599,9 @@
 			 ,major
 			 ,wordnr
 			 ,projectId
+			 ,auditOpinion
 		from rural_report_consultant where projectId=#{projectId}
+		order by major
 	</select>
 
 	<select id="getCertificateByUser" resultType="com.jeeplus.modules.workstaff.entity.WorkStaffCertificate">

+ 94 - 11
src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/new/reportForm.jsp

@@ -565,6 +565,32 @@
 				}
 			});
 		}
+		function openInfo(id,value) {
+        	console.log(id);
+			top.layer.open({
+				type: 2,
+				area: ['50%','50%'],
+				title:"意见",
+				name:'friend',
+				skin:"two-btns",
+				content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+				btn: ['确定', '关闭'],
+				yes: function(index, layero){
+					var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var item = iframeWin.getSelectedItem();
+					console.log(item);
+					if(item == "-1"){
+						return;
+					}
+					var items = item.split('_item_');
+					console.log(items)
+					$("#"+id.id+"_auditOpinion").val(items[1]);
+					top.layer.close(index);//关闭对话框。
+				},
+				cancel: function(index){
+				}
+			});
+		}
 	</script>
 </head>
 <body>
@@ -937,7 +963,7 @@
 					</div>
 				</div>
 			</div>
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw7">
 					<label class="layui-form-label"><span class="require-item">*</span>专业咨询员:</label>
@@ -969,7 +995,6 @@
 								</div>
 							</div>
 						</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control re "/>--%>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6 lw7" style="margin-top: 15px;">
@@ -977,8 +1002,6 @@
 					<div class="layui-input-block  with-icon">
 						<sys:reportedtreeselectUser id="principal" name="projectReportData.principal.id" value="${projectRecords.projectMasterId}" labelName="projectReportData.principal.name" labelValue="${projectRecords.projectMasterName}"
 													cssStyle="background-color:#fff" title="项目负责人" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
-<%--						<sys:inquireselectUser id="principal" name="projectReportData.principal.id" value="${projectReportData.principal.id}" labelName="projectReportData.principal.name" labelValue="${projectReportData.principal.name}"--%>
-<%--									cssStyle="background-color:#fff"	title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm12 lw7 with-textarea">
@@ -1004,27 +1027,28 @@
 								</div>
 							</div>
 						</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>--%>
 					</div>
 				</div>
-			</div>
+			</div>--%>
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+				<div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
 				<div class="layui-item layui-col-sm12 lw6">
 					<div class="layui-item nav-btns">
 						<div class="layui-item nav-btns" style="padding-left:0px;">
 							<a class="nav-btn nav-btn-add"
-							   onclick="addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
+							   onclick="consultant('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
 							   title="新增"><i class="fa fa-plus"></i> 新增</a>
 						</div>
 						<table id="bankinfo" class="table table-bordered table-condensed can-edit">
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th ><span class="require-item">*</span>咨询员名称</th>
+								<th ><span class="require-item">*</span>成员名称</th>
+								<th >角色</th>
 								<th ><span class="require-item">*</span>注册/资格证号</th>
 								<th ><span class="require-item">*</span>专业</th>
 								<th ><span class="require-item">*</span>本人负责内容</th>
+								<th ><span class="require-item">*</span>审核意见</th>
 								<th width="100px">操作</th>
 							</tr>
 							</thead>
@@ -1073,6 +1097,47 @@
                                             title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+										{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+                                    </td>
+                                </tr>//-->
+						</script>
+						<script type="text/template" id="workClientBankTplFirst">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
+                                        <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    </td>
+
+                                    <td width="60px">
+                                        <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
+                                    </td>
+                                    <td>
+                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                    </td>
+
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="负责人" readonly="true" class="form-control"/>
+									</td>
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
@@ -1082,9 +1147,12 @@
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
 
                                     <td class="text-center op-td" width="10">
-                                        {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+
                                     </td>
                                 </tr>//-->
 						</script>
@@ -1576,14 +1644,29 @@
 <script type="text/javascript">
 	var workClientBankRowIdx = 0,
 			workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+			workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	$(document).ready(function () {
 		var dataBank = ${fns:toJson(info)};
 		for (var i = 0; i < dataBank.length; i++) {
-			addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			if(i == 0){
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+			}else{
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			}
 			workClientBankRowIdx = workClientBankRowIdx + 1;
 		}
 	});
 
+	function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+		//根据id查询咨询员列表现有数据量
+		var length = $("#reportedConsultantList").find("tr").length;
+		if(length == 0){
+			addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+		}else{
+			addRow(id, workClientBankRowIdx, workClientBankTpl, "");
+		}
+	}
+
 </script>
 <script>
 	function openBill2(title,url,width,height,target,formId,tableId){

+ 94 - 9
src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/new/reportModify.jsp

@@ -827,7 +827,7 @@
 					</div>
 				</div>
 			</div>
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw7">
 					<label class="layui-form-label"><span class="require-item">*</span>专业咨询员:</label>
@@ -859,7 +859,6 @@
 								</div>
 							</div>
 						</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>--%>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6 lw7" style="margin-top: 15px;">
@@ -892,27 +891,28 @@
 								</div>
 							</div>
 						</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>--%>
 					</div>
 				</div>
-			</div>
+			</div>--%>
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+				<div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
 				<div class="layui-item layui-col-sm12 lw6">
 					<div class="layui-item nav-btns">
 						<div class="layui-item nav-btns" style="padding-left:0px;">
 							<a class="nav-btn nav-btn-add"
-							   onclick="addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
+							   onclick="consultant('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
 							   title="新增"><i class="fa fa-plus"></i> 新增</a>
 						</div>
 						<table id="bankinfo" class="table table-bordered table-condensed can-edit">
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th ><span class="require-item">*</span>咨询员名称</th>
+								<th ><span class="require-item">*</span>成员名称</th>
+								<th >角色</th>
 								<th ><span class="require-item">*</span>注册/资格证号</th>
 								<th ><span class="require-item">*</span>专业</th>
 								<th ><span class="require-item">*</span>本人负责内容</th>
+								<th ><span class="require-item">*</span>审核意见</th>
 								<th width="100px">操作</th>
 							</tr>
 							</thead>
@@ -961,6 +961,47 @@
                                             title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+										{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+                                    </td>
+                                </tr>//-->
+						</script>
+						<script type="text/template" id="workClientBankTplFirst">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
+                                        <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    </td>
+
+                                    <td width="60px">
+                                        <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
+                                    </td>
+                                    <td>
+                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                    </td>
+
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="负责人" readonly="true" class="form-control"/>
+									</td>
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
@@ -970,9 +1011,12 @@
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
 
                                     <td class="text-center op-td" width="10">
-                                        {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+
                                     </td>
                                 </tr>//-->
 						</script>
@@ -1787,14 +1831,55 @@
 <script type="text/javascript">
 	var workClientBankRowIdx = 0,
 			workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+	workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	$(document).ready(function () {
 		var dataBank = ${fns:toJson(info)};
 		for (var i = 0; i < dataBank.length; i++) {
-			addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			if(i == 0){
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+			}else{
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			}
 			workClientBankRowIdx = workClientBankRowIdx + 1;
 		}
 	});
 
+	function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+		//根据id查询咨询员列表现有数据量
+		var length = $("#reportedConsultantList").find("tr").length;
+		if(length == 0){
+			addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+		}else{
+			addRow(id, workClientBankRowIdx, workClientBankTpl, "");
+		}
+	}
+
+	function openInfo(id,value) {
+		console.log(id);
+		top.layer.open({
+			type: 2,
+			area: ['50%','50%'],
+			title:"意见",
+			name:'friend',
+			skin:"two-btns",
+			content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+			btn: ['确定', '关闭'],
+			yes: function(index, layero){
+				var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				var item = iframeWin.getSelectedItem();
+				console.log(item);
+				if(item == "-1"){
+					return;
+				}
+				var items = item.split('_item_');
+				console.log(items)
+				$("#"+id.id+"_auditOpinion").val(items[1]);
+				top.layer.close(index);//关闭对话框。
+			},
+			cancel: function(index){
+			}
+		});
+	}
 </script>
 </body>
 </html>

+ 62 - 15
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAudit.jsp

@@ -15,12 +15,12 @@
             if(validateForm.form()){
                 if(obj == 1) {
                     $("#flag").val("yes");
-                    var technicistRemarks = $("#technicistRemarks").val();
+					/*var technicistRemarks = $("#technicistRemarks").val();
                     var type = $("#type").val();
                     if( type==4 && (undefined == technicistRemarks || null ==technicistRemarks || '' ==technicistRemarks)){
-						top.layer.msg("请填写技术负责人审核意见!", {icon: 0});
-						return false;
-					}
+                        top.layer.msg("请填写技术负责人审核意见!", {icon: 0});
+                        return false;
+                    }*/
                 }else {
                     if(obj == 2){
                         $("#flag").val("no1");
@@ -1191,7 +1191,7 @@
 					</c:choose>
 				</div>
 			</div>
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 
 				<c:if test="${type ==3 || type ==4}">
@@ -1251,11 +1251,10 @@
 									</div>
 								</div>
 							</div>
-<%--							<form:textarea path="projectReportData.technicistRemarks" id="technicistRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control"/>--%>
 						</div>
 					</div>
 				</c:if>
-			</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 layui-col-sm12 lw6">
@@ -1264,10 +1263,12 @@
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th ><span class="require-item">*</span>咨询员名称</th>
-								<th ><span class="require-item">*</span>注册/资格证号</th>
-								<th ><span class="require-item">*</span>专业</th>
-								<th ><span class="require-item">*</span>本人负责内容</th>
+								<th ><span class="require-item">*</span>成员名称</th>
+								<th >角色</th>
+								<th >注册/资格证号</th>
+								<th >专业</th>
+								<th >本人负责内容</th>
+								<th ><span class="require-item">*</span>审核意见</th>
 <%--								<th width="100px">操作</th>--%>
 							</tr>
 							</thead>
@@ -1278,25 +1279,45 @@
 										<input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zixunyuan" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuanName}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_zixunyuanName" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuanName" value="${info.zixunyuanName}" class="form-control required"/>
 
 <%--										<sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"--%>
 <%--																	title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
 									</td>
 
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_role" readonly="true" name="reportedConsultantList[${status.index+1}].role" value="${info.role}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control"/>
+									</td>
+									<td>
+										<c:choose>
+											<c:when test="${consultantCount == status.index+1}">
+												<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" onclick="openInfo('reportedConsultantList${status.index+1}',this.value)" class="form-control required"/>
+											</c:when>
+											<c:otherwise>
+												<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="请输入审核意见" readonly="true" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" class="form-control required"/>
+											</c:otherwise>
+										</c:choose>
+
 									</td>
 
 <%--									<td class="text-center op-td" width="10">--%>
 <%--										<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>--%>
 <%--									</td>--%>
+									<td class="hide">
+										<input id="reportedConsultantList${status.index+1}_id" name="reportedConsultantList[${status.index+1}].id" type="hidden" value="${info.id}"/>
+										<input id="reportedConsultantList${status.index+1}_delFlag" name="reportedConsultantList[${status.index+1}].delFlag" type="hidden" value="0"/>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhKey" name="reportedConsultantList[${status.index+1}].zhucezigezhKey" type="hidden" value="${info.zhucezigezhKey}"/>
+										<input id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" type="hidden" value="${info.zixunyuan}"/>
+									</td>
 								</tr>
 							</c:forEach>
 							</tbody>
@@ -1527,6 +1548,32 @@
 			}
 		}
 	}
+	function openInfo(id,value) {
+		console.log(id);
+		top.layer.open({
+			type: 2,
+			area: ['50%','50%'],
+			title:"意见",
+			name:'friend',
+			skin:"two-btns",
+			content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+			btn: ['确定', '关闭'],
+			yes: function(index, layero){
+				var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				var item = iframeWin.getSelectedItem();
+				console.log(item);
+				if(item == "-1"){
+					return;
+				}
+				var items = item.split('_item_');
+				console.log(items)
+				$("#"+id+"_auditOpinion").val(items[1]);
+				top.layer.close(index);//关闭对话框。
+			},
+			cancel: function(index){
+			}
+		});
+	}
 </script>
 </body>
 </html>

+ 96 - 11
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModify.jsp

@@ -563,7 +563,7 @@
                     </div>
                 </div>
             </div>
-            <div class="form-group layui-row first lw12">
+            <%--<div class="form-group layui-row first lw12">
                 <div class="form-group-label"><h2>咨询质量控制信息</h2></div>
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>专业咨询员:</label>
@@ -595,7 +595,6 @@
                                 </div>
                             </div>
                         </div>
-<%--                        <form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>--%>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
@@ -628,27 +627,28 @@
                             </div>
                         </div>
                     </div>
-<%--                        <form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>--%>
                     </div>
                 </div>
-            </div>
+            </div>--%>
             <div class="form-group layui-row">
-                <div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+                <div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
                 <div class="layui-item layui-col-sm12 lw6">
                     <div class="layui-item nav-btns">
                         <div class="layui-item nav-btns" style="padding-left:0px;">
                             <a class="nav-btn nav-btn-add"
-                               onclick="addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
+                               onclick="consultant('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
                                title="新增"><i class="fa fa-plus"></i> 新增</a>
                         </div>
                         <table id="bankinfo" class="table table-bordered table-condensed can-edit">
                             <thead>
                             <tr>
                                 <th width="60px">编号</th>
-                                <th ><span class="require-item">*</span>咨询员名称</th>
+                                <th ><span class="require-item">*</span>成员名称</th>
+                                <th >角色</th>
                                 <th ><span class="require-item">*</span>注册/资格证号</th>
                                 <th ><span class="require-item">*</span>专业</th>
                                 <th ><span class="require-item">*</span>本人负责内容</th>
+                                <th ><span class="require-item">*</span>审核意见</th>
                                 <th width="100px">操作</th>
                             </tr>
                             </thead>
@@ -685,7 +685,45 @@
                                         <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
                                         <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
                                         <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
-                                        <input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    </td>
+
+                                    <td width="60px">
+                                        <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
+                                    </td>
+                                    <td>
+                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                    </td>
+
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+										{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+                                    </td>
+                                </tr>//-->
+                        </script>
+                        <script type="text/template" id="workClientBankTplFirst">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
+                                        <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
                                     </td>
 
                                     <td width="60px">
@@ -696,6 +734,9 @@
                                             title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="负责人" readonly="true" class="form-control"/>
+									</td>
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
@@ -705,9 +746,12 @@
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
 
                                     <td class="text-center op-td" width="10">
-                                        {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+
                                     </td>
                                 </tr>//-->
                         </script>
@@ -1136,14 +1180,55 @@
 <script type="text/javascript">
     var workClientBankRowIdx = 0,
         workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+        workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
     $(document).ready(function () {
-        var dataBank = ${fns:toJson(consultantinfo)};
+        var dataBank = ${fns:toJson(info)};
         for (var i = 0; i < dataBank.length; i++) {
-            addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+            if(i == 0){
+                addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+            }else{
+                addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+            }
             workClientBankRowIdx = workClientBankRowIdx + 1;
         }
     });
 
+    function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+        //根据id查询咨询员列表现有数据量
+        var length = $("#reportedConsultantList").find("tr").length;
+        if(length == 0){
+            addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+        }else{
+            addRow(id, workClientBankRowIdx, workClientBankTpl, "");
+        }
+    }
+
+    function openInfo(id,value) {
+        console.log(id);
+        top.layer.open({
+            type: 2,
+            area: ['50%','50%'],
+            title:"意见",
+            name:'friend',
+            skin:"two-btns",
+            content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+            btn: ['确定', '关闭'],
+            yes: function(index, layero){
+                var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var item = iframeWin.getSelectedItem();
+                console.log(item);
+                if(item == "-1"){
+                    return;
+                }
+                var items = item.split('_item_');
+                console.log(items)
+                $("#"+id.id+"_auditOpinion").val(items[1]);
+                top.layer.close(index);//关闭对话框。
+            },
+            cancel: function(index){
+            }
+        });
+    }
 </script>
 <script>
     $(document).ready(function() {

+ 96 - 10
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportForm.jsp

@@ -495,6 +495,32 @@
 				$(span).find("span").eq(0).attr("class","default_open")
 			});
 		}
+		function openInfo(id,value) {
+			console.log(id);
+			top.layer.open({
+				type: 2,
+				area: ['50%','50%'],
+				title:"意见",
+				name:'friend',
+				skin:"two-btns",
+				content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+				btn: ['确定', '关闭'],
+				yes: function(index, layero){
+					var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var item = iframeWin.getSelectedItem();
+					console.log(item);
+					if(item == "-1"){
+						return;
+					}
+					var items = item.split('_item_');
+					console.log(items)
+					$("#"+id.id+"_auditOpinion").val(items[1]);
+					top.layer.close(index);//关闭对话框。
+				},
+				cancel: function(index){
+				}
+			});
+		}
 	</script>
 </head>
 <body>
@@ -865,7 +891,7 @@
 						</div>
 					</div>
 				</div>
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw7">
 					<label class="layui-form-label"><span class="require-item">*</span>专业咨询员:</label>
@@ -897,7 +923,7 @@
 								</div>
 							</div>
 						</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control judgment"/>--%>
+&lt;%&ndash;						<form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control judgment"/>&ndash;%&gt;
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6 lw7" style="margin-top: 20px;">
@@ -930,27 +956,29 @@
 									</div>
 								</div>
 							</div>
-<%--						<form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control judgment"/>--%>
+&lt;%&ndash;						<form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control judgment"/>&ndash;%&gt;
 					</div>
 				</div>
-			</div>
+			</div>--%>
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+				<div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
 				<div class="layui-item layui-col-sm12 lw6">
 					<div class="layui-item nav-btns">
 						<div class="layui-item nav-btns" style="padding-left:0px;">
 							<a class="nav-btn nav-btn-add"
-							   onclick="addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
+							   onclick="consultant('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
 							   title="新增"><i class="fa fa-plus"></i> 新增</a>
 						</div>
 						<table id="bankinfo" class="table table-bordered table-condensed can-edit">
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th ><span class="require-item">*</span>咨询员名称</th>
+								<th ><span class="require-item">*</span>成员名称</th>
+								<th >角色</th>
 								<th ><span class="require-item">*</span>注册/资格证号</th>
 								<th ><span class="require-item">*</span>专业</th>
 								<th ><span class="require-item">*</span>本人负责内容</th>
+								<th ><span class="require-item">*</span>审核意见</th>
 								<th width="100px">操作</th>
 							</tr>
 							</thead>
@@ -991,7 +1019,45 @@
                                         <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
                                         <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
                                         <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
-                                        <input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    </td>
+
+                                    <td width="60px">
+                                        <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
+                                    </td>
+                                    <td>
+                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                    </td>
+
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+										{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+                                    </td>
+                                </tr>//-->
+						</script>
+						<script type="text/template" id="workClientBankTplFirst">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
+                                        <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
                                     </td>
 
                                     <td width="60px">
@@ -1002,6 +1068,9 @@
                                             title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="负责人" readonly="true" class="form-control"/>
+									</td>
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
@@ -1011,9 +1080,12 @@
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
 
                                     <td class="text-center op-td" width="10">
-                                        {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+
                                     </td>
                                 </tr>//-->
 						</script>
@@ -1825,14 +1897,28 @@
 <script type="text/javascript">
 	var workClientBankRowIdx = 0,
 			workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+	workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	$(document).ready(function () {
 		var dataBank = ${fns:toJson(info)};
 		for (var i = 0; i < dataBank.length; i++) {
-			addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			if(i == 0){
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+			}else{
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+			}
 			workClientBankRowIdx = workClientBankRowIdx + 1;
 		}
 	});
 
+	function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+		//根据id查询咨询员列表现有数据量
+		var length = $("#reportedConsultantList").find("tr").length;
+		if(length == 0){
+			addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+		}else{
+			addRow(id, workClientBankRowIdx, workClientBankTpl, "");
+		}
+	}
 </script>
 
 </body>

+ 67 - 19
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageAudit.jsp

@@ -15,12 +15,12 @@
             if(validateForm.form()){
                 if(obj == 1) {
                     $("#flag").val("yes");
-                    var technicistRemarks = $("#technicistRemarks").val();
+                    /*var technicistRemarks = $("#technicistRemarks").val();
                     var type = $("#type").val();
                     if( type==4 && (undefined == technicistRemarks || null ==technicistRemarks || '' ==technicistRemarks)){
 						top.layer.msg("请填写技术负责人审核意见!", {icon: 0});
 						return false;
-					}
+					}*/
                     /*if($("#taskDefKey").val()== "projectplan" && $(".trIdAdds").length==0){
                         top.layer.alert('请至少上传一个项目计划表或者实施方案文档!', {icon: 0});
                         return;
@@ -1197,7 +1197,7 @@
 			</div>
 
 
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 
 				<c:if test="${type ==3 || type ==4}">
@@ -1257,11 +1257,11 @@
 									</div>
 								</div>
 							</div>
-<%--							<form:textarea path="projectReportData.technicistRemarks" id="technicistRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control"/>--%>
+&lt;%&ndash;							<form:textarea path="projectReportData.technicistRemarks" id="technicistRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control"/>&ndash;%&gt;
 						</div>
 					</div>
 				</c:if>
-			</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 layui-col-sm12 lw6">
@@ -1270,11 +1270,13 @@
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th ><span class="require-item">*</span>咨询员名称</th>
-								<th ><span class="require-item">*</span>注册/资格证号</th>
-								<th ><span class="require-item">*</span>专业</th>
-								<th ><span class="require-item">*</span>本人负责内容</th>
-<%--								<th width="100px">操作</th>--%>
+								<th ><span class="require-item">*</span>成员名称</th>
+								<th >角色</th>
+								<th >注册/资格证号</th>
+								<th >专业</th>
+								<th >本人负责内容</th>
+								<th ><span class="require-item">*</span>审核意见</th>
+									<%--								<th width="100px">操作</th>--%>
 							</tr>
 							</thead>
 							<tbody id="reportedConsultantList">
@@ -1284,25 +1286,45 @@
 										<input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zixunyuan" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuanName}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_zixunyuanName" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuanName" value="${info.zixunyuanName}" class="form-control required"/>
 
-<%--										<sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"--%>
-<%--																	title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
+											<%--										<sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"--%>
+											<%--																	title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
 									</td>
 
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_role" readonly="true" name="reportedConsultantList[${status.index+1}].role" value="${info.role}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control"/>
+									</td>
+									<td>
+										<c:choose>
+											<c:when test="${consultantCount == status.index+1}">
+												<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" onclick="openInfo('reportedConsultantList${status.index+1}',this.value)" class="form-control required"/>
+											</c:when>
+											<c:otherwise>
+												<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="请输入审核意见" readonly="true" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" class="form-control required"/>
+											</c:otherwise>
+										</c:choose>
+
 									</td>
 
-<%--									<td class="text-center op-td" width="10">--%>
-<%--										<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>--%>
-<%--									</td>--%>
+										<%--									<td class="text-center op-td" width="10">--%>
+										<%--										<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>--%>
+										<%--									</td>--%>
+									<td class="hide">
+										<input id="reportedConsultantList${status.index+1}_id" name="reportedConsultantList[${status.index+1}].id" type="hidden" value="${info.id}"/>
+										<input id="reportedConsultantList${status.index+1}_delFlag" name="reportedConsultantList[${status.index+1}].delFlag" type="hidden" value="0"/>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhKey" name="reportedConsultantList[${status.index+1}].zhucezigezhKey" type="hidden" value="${info.zhucezigezhKey}"/>
+										<input id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" type="hidden" value="${info.zixunyuan}"/>
+									</td>
 								</tr>
 							</c:forEach>
 							</tbody>
@@ -1533,6 +1555,32 @@
 			}
 		}
 	}
+	function openInfo(id,value) {
+		console.log(id);
+		top.layer.open({
+			type: 2,
+			area: ['50%','50%'],
+			title:"意见",
+			name:'friend',
+			skin:"two-btns",
+			content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+			btn: ['确定', '关闭'],
+			yes: function(index, layero){
+				var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				var item = iframeWin.getSelectedItem();
+				console.log(item);
+				if(item == "-1"){
+					return;
+				}
+				var items = item.split('_item_');
+				console.log(items)
+				$("#"+id+"_auditOpinion").val(items[1]);
+				top.layer.close(index);//关闭对话框。
+			},
+			cancel: function(index){
+			}
+		});
+	}
 </script>
 </body>
 </html>

+ 112 - 25
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageModify.jsp

@@ -668,7 +668,7 @@
                     </div>
                 </div>
             </div>
-            <div class="form-group layui-row first lw12">
+            <%--<div class="form-group layui-row first lw12">
                 <div class="form-group-label"><h2>咨询质量控制信息</h2></div>
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>专业咨询员:</label>
@@ -700,7 +700,7 @@
                                 </div>
                             </div>
                         </div>
-<%--                        <form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>--%>
+&lt;%&ndash;                        <form:textarea placeholder="请输入审核意见" path="projectReportData.consultantRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>&ndash;%&gt;
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
@@ -733,64 +733,104 @@
                             </div>
                         </div>
                     </div>
-<%--                        <form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>--%>
+&lt;%&ndash;                        <form:textarea placeholder="请输入审核意见" path="projectReportData.principalRemarks" htmlEscape="false" rows="4"  maxlength="255"  class="form-control required"/>&ndash;%&gt;
                     </div>
                 </div>
-            </div>
+            </div>--%>
             <div class="form-group layui-row">
-                <div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+                <div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
                 <div class="layui-item layui-col-sm12 lw6">
                     <div class="layui-item nav-btns">
                         <div class="layui-item nav-btns" style="padding-left:0px;">
                             <a class="nav-btn nav-btn-add"
-                               onclick="addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
+                               onclick="consultant('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl);workClientBankRowIdx = workClientBankRowIdx + 1;"
                                title="新增"><i class="fa fa-plus"></i> 新增</a>
                         </div>
                         <table id="bankinfo" class="table table-bordered table-condensed can-edit">
                             <thead>
                             <tr>
                                 <th width="60px">编号</th>
-                                <th ><span class="require-item">*</span>咨询员名称</th>
+                                <th ><span class="require-item">*</span>成员名称</th>
+                                <th >角色</th>
                                 <th ><span class="require-item">*</span>注册/资格证号</th>
                                 <th ><span class="require-item">*</span>专业</th>
                                 <th ><span class="require-item">*</span>本人负责内容</th>
+                                <th ><span class="require-item">*</span>审核意见</th>
                                 <th width="100px">操作</th>
                             </tr>
                             </thead>
                             <tbody id="reportedConsultantList">
-                            <%--<c:forEach items="${consultantinfo}" var = "info" varStatus="status">
-                                <tr>
+                                <%--<c:forEach items="${consultantinfo}" var = "info" varStatus="status">
+                                    <tr>
+                                        <td width="60px">
+                                            <input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
+                                        </td>
+                                        <td>
+                                            <sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"
+                                                                        title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                        </td>
+                                        <td>
+                                            <input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control required"/>
+                                        </td>
+                                        <td>
+                                            <input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control required"/>
+                                        </td>
+                                        <td>
+                                            <input id="reportedConsultantList${status.index+1}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control required"/>
+                                        </td>
+
+                                        <td class="text-center op-td" width="10">
+                                            <span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>
+                                        </td>
+                                    </tr>
+                                </c:forEach>--%>
+                            </tbody>
+                        </table>
+                        <script type="text/template" id="workClientBankTpl">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
+                                        <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    </td>
+
                                     <td width="60px">
-                                        <input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
+                                        <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
+                                    </td>
+                                    <td>
+                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
+
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
+									</td>
                                     <td>
-                                        <sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"
-                                                                    title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
                                     <td>
-                                        <input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control required"/>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
                                     </td>
                                     <td>
-                                        <input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control required"/>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
                                     <td>
-                                        <input id="reportedConsultantList${status.index+1}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control required"/>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
                                     </td>
 
                                     <td class="text-center op-td" width="10">
-                                        <span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>
+										{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
                                     </td>
-                                </tr>
-                            </c:forEach>--%>
-                            </tbody>
-                        </table>
-                        <script type="text/template" id="workClientBankTpl">//<!--
+                                </tr>//-->
+                        </script>
+                        <script type="text/template" id="workClientBankTplFirst">//<!--
                                 <tr id="reportedConsultantList{{idx}}">
                                     <td class="hide">
                                         <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
                                         <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
                                         <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
-                                        <input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
+                                    	<input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
                                     </td>
 
                                     <td width="60px">
@@ -801,6 +841,9 @@
                                             title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="负责人" readonly="true" class="form-control"/>
+									</td>
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
                                     </td>
@@ -810,9 +853,12 @@
                                     <td>
                                         <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control required"/>
                                     </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value)" class="form-control required"/>
+                                    </td>
 
                                     <td class="text-center op-td" width="10">
-                                        {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+
                                     </td>
                                 </tr>//-->
                         </script>
@@ -1241,14 +1287,55 @@
 <script type="text/javascript">
     var workClientBankRowIdx = 0,
         workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+    workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
     $(document).ready(function () {
-        var dataBank = ${fns:toJson(consultantinfo)};
+        var dataBank = ${fns:toJson(info)};
         for (var i = 0; i < dataBank.length; i++) {
-            addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+            if(i == 0){
+                addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+            }else{
+                addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+            }
             workClientBankRowIdx = workClientBankRowIdx + 1;
         }
     });
 
+    function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+        //根据id查询咨询员列表现有数据量
+        var length = $("#reportedConsultantList").find("tr").length;
+        if(length == 0){
+            addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+        }else{
+            addRow(id, workClientBankRowIdx, workClientBankTpl, "");
+        }
+    }
+
+    function openInfo(id,value) {
+        console.log(id);
+        top.layer.open({
+            type: 2,
+            area: ['50%','50%'],
+            title:"意见",
+            name:'friend',
+            skin:"two-btns",
+            content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectReproject?auditOpinion="+value),
+            btn: ['确定', '关闭'],
+            yes: function(index, layero){
+                var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var item = iframeWin.getSelectedItem();
+                console.log(item);
+                if(item == "-1"){
+                    return;
+                }
+                var items = item.split('_item_');
+                console.log(items)
+                $("#"+id.id+"_auditOpinion").val(items[1]);
+                top.layer.close(index);//关闭对话框。
+            },
+            cancel: function(index){
+            }
+        });
+    }
 </script>
 <script>
     $(document).ready(function() {

+ 16 - 12
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView.jsp

@@ -336,7 +336,7 @@
 					</div>
 				</div>
 			</div>
-			<div class="form-group layui-row first lw12">
+			<%--<div class="form-group layui-row first lw12">
 				<div class="form-group-label"><h2>咨询质量控制信息</h2></div>
 
 				<div class="layui-item layui-col-sm6 lw7">
@@ -375,19 +375,21 @@
 						<form:textarea path="projectReportData.technicistRemarks" readonly="true" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
 					</div>
 				</div>
-			</div>
+			</div>--%>
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2><span class="require-item">*</span>咨询员</h2></div>
+				<div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
 				<div class="layui-item layui-col-sm12 lw6">
 					<div class="layui-item nav-btns">
 						<table id="bankinfo" class="table table-bordered table-condensed can-edit">
 							<thead>
 							<tr>
 								<th width="60px">编号</th>
-								<th >咨询员名称</th>
+								<th >成员名称</th>
+								<th >角色</th>
 								<th >注册/资格证号</th>
 								<th >专业</th>
 								<th >本人负责内容</th>
+								<th >审核意见</th>
 									<%--								<th width="100px">操作</th>--%>
 							</tr>
 							</thead>
@@ -398,25 +400,27 @@
 										<input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zixunyuan" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuanName}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_zixunyuanName" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuanName" value="${info.zixunyuanName}" class="form-control required"/>
 
 											<%--										<sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"--%>
 											<%--																	title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
 									</td>
 
 									<td>
-										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_role" readonly="true" name="reportedConsultantList[${status.index+1}].role" value="${info.role}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control"/>
 									</td>
 									<td>
-										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="请输入本人负责内容" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control required"/>
+										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="" readonly="true" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" class="form-control required"/>
 									</td>
-
-										<%--									<td class="text-center op-td" width="10">--%>
-										<%--										<span class="op-btn op-btn-delete" onclick="delRow(this, '#reportedConsultantList${status.index+1}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>--%>
-										<%--									</td>--%>
 								</tr>
 							</c:forEach>
 							</tbody>

+ 49 - 39
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp

@@ -250,46 +250,56 @@
 					</div>
 				</div>
 			</div>
-			<div class="form-group layui-row first lw12">
-				<div class="form-group-label">
-					<div style="float: right"> <a href="${ctx}/workfullmanage/workFullManage/downloadMassControl?id=${projectReportData.id}"  onclick="return confirmx('确认要下载控制流程单吗?', this.href)" class="nav-btn layui-btn" ><i class="fa fa-file-excel-o"></i> 下载流程单</a></div>
-					<h2>咨询质量控制信息</h2>
-				</div>
+			<div class="form-group layui-row">
+				<div style="float: right"> <a href="${ctx}/workfullmanage/workFullManage/downloadMassControl?id=${projectReportData.id}"  onclick="return confirmx('确认要下载控制流程单吗?', this.href)" class="nav-btn layui-btn" ><i class="fa fa-file-excel-o"></i> 下载流程单</a></div>
+				<div class="form-group-label"><h2><span class="require-item">*</span>项目组成员</h2></div>
+				<div class="layui-item layui-col-sm12 lw6">
+					<div class="layui-item nav-btns">
+						<table id="bankinfo" class="table table-bordered table-condensed can-edit">
+							<thead>
+							<tr>
+								<th width="60px">编号</th>
+								<th >成员名称</th>
+								<th >角色</th>
+								<th >注册/资格证号</th>
+								<th >专业</th>
+								<th >本人负责内容</th>
+								<th >审核意见</th>
+									<%--								<th width="100px">操作</th>--%>
+							</tr>
+							</thead>
+							<tbody id="reportedConsultantList">
+							<c:forEach items="${consultantinfo}" var = "info" varStatus="status">
+								<tr>
+									<td width="60px">
+										<input id="reportedConsultantList${status.index+1}_costNum" name="reportedConsultantList[${status.index+1}].costNum" readonly="readonly" style="text-align: center"  value="${status.index+1}" type="text" class="form-control contentDetail"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_zixunyuanName" readonly="true" name="reportedConsultantList[${status.index+1}].zixunyuanName" value="${info.zixunyuanName}" class="form-control required"/>
 
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">专业咨询员:</label>
-					<div class="layui-input-block  with-icon">
-						<input id="projectReportDataConsultantName" style="background-color: #f1f1f1" class="form-control layui-input" readonly="readonly" value="${projectReportData.consultant.name}">
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm12 lw7 with-textarea">
-					<label class="layui-form-label double-line">专业咨询员审核意见:</label>
-					<div class="layui-input-block">
-						<form:textarea path="projectReportData.consultantRemarks" cssStyle="background-color: #f1f1f1" readonly="true" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">项目负责人:</label>
-					<div class="layui-input-block">
-						<input id="projectReportDataPrincipalName" style="background-color: #f1f1f1" class="form-control layui-input" readonly="readonly" value="${projectReportData.principal.name}">
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm12 lw7 with-textarea">
-					<label class="layui-form-label double-line">项目负责人审核意见:</label>
-					<div class="layui-input-block">
-						<form:textarea path="projectReportData.principalRemarks" cssStyle="background-color: #f1f1f1" readonly="true" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">专业咨询员:</label>
-					<div class="layui-input-block  with-icon">
-						<input id="projectReportDataTechnicistName" style="background-color: #f1f1f1" class="form-control layui-input" readonly="true" value="${projectReportData.technicist.name}">
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm12 lw7 with-textarea">
-					<label class="layui-form-label double-line">专业咨询员审核意见:</label>
-					<div class="layui-input-block">
-						<form:textarea path="projectReportData.technicistRemarks" cssStyle="background-color: #f1f1f1" readonly="true" htmlEscape="false" rows="4"  maxlength="255"  class="form-control "/>
+											<%--										<sys:reportedtreeselectUser id="reportedConsultantList${status.index+1}_zixunyuan" name="reportedConsultantList[${status.index+1}].zixunyuan" value="${info.zixunyuan}" labelName="workAccountList[${status.index+1}].zixunyuan" labelValue="${info.zixunyuanName}"--%>
+											<%--																	title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
+									</td>
+
+									<td>
+										<input id="reportedConsultantList${status.index+1}_role" readonly="true" name="reportedConsultantList[${status.index+1}].role" value="${info.role}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_zhucezigezhID" readonly="true" name="reportedConsultantList[${status.index+1}].zhucezigezhID" value="${info.zhucezigezhID}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_major" readonly="true"  name="reportedConsultantList[${status.index+1}].major" value="${info.major}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_wordnr" readonly="true" placeholder="" name="reportedConsultantList[${status.index+1}].wordnr" value="${info.wordnr}" class="form-control"/>
+									</td>
+									<td>
+										<input id="reportedConsultantList${status.index+1}_auditOpinion" placeholder="" readonly="true" name="reportedConsultantList[${status.index+1}].auditOpinion" value="${info.auditOpinion}" class="form-control required"/>
+									</td>
+								</tr>
+							</c:forEach>
+							</tbody>
+						</table>
 					</div>
 				</div>
 			</div>

+ 124 - 0
src/main/webapp/webpage/modules/sys/gridselectConsultantOpinion.jsp

@@ -0,0 +1,124 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+	<link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
+	<%@include file="/webpage/include/treetable.jsp" %>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			$('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
+				$('#contentTable tbody tr td input.i-checks').iCheck('check');
+			});
+
+			$('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
+				$('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+			});
+			});
+
+		function getSelectedItem() {
+			//获取意见栏信息
+				var reimburseRemarks = $("#reimburseRemarks").val();
+				if(reimburseRemarks == undefined || reimburseRemarks == null || reimburseRemarks == ''){
+					top.layer.msg("请输入审核意见")
+				}
+				return "0" + "_item_" + reimburseRemarks;
+		}
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row">
+				<form:form id="searchForm" modelAttribute="projectReportData" action="" method="post" class="layui-form">
+					<div class="commonQuery">
+					<div class="layui-item layui-col-sm12 lw7 with-textarea">
+						<label class="layui-form-label double-line"><span class="require-item">*</span>审核意见:</label>
+						<div class="layui-input-block">
+							<div class="layui-item layui-col-sm6 lw7 with-textarea">
+								<div class="layui-input-block" style="margin-left:0px;position: relative">
+									<textarea placeholder="请输入审核意见:" id="reimburseRemarks" name="reimburseRemarks" style="width: 100%" rows="7" class="form-control required" maxlength="255">${auditOpinion}</textarea>
+									<a id="clearOpinon" class="layui-btn" style="position: absolute;bottom: 10px;right: 20px;">清空</a>
+									<input type="file" name="upload_files" style="display: none;">
+								</div>
+							</div>
+							<div class="layui-item layui-col-sm4 lw6 with-textarea">
+								<div class="layui-input-block" style="margin-left:10px;">
+									<div style="padding: 5px 0px;"><input type="checkbox" lay-filter="raopinion" name="sh" value="同意" title="同意" style="cursor:pointer" class="apen"/></div>
+									<div style="padding: 5px 0px;"><input type="checkbox" lay-filter="raopinion" name="sh" value="不同意" title="不同意" style="cursor:pointer" class="apen"/></div>
+									<div style="padding: 5px 0px;"><input type="checkbox" lay-filter="raopinion" name="sh" value="请领导审核" title="请领导审核" style="cursor:pointer" class="apen"/></div>
+									<div style="padding: 5px 0px;">
+										<form:select path="consultantRemarks" id="auditOpinion" lay-filter="zixunOpinion" lay-verify="zixunOpinion" class="form-control simple-select">
+											<form:option value=""/>
+											<form:options items="${fns:getMainDictListOnProjectAdvent('consultant_comments')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
+										</form:select>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+	</div>
+</div>
+<script>
+	$(document).ready(function() {
+		$("#clearOpinon").click(function(){
+			var s=$("input[name='sh']").length;
+			for(var i=0;i<s;i++){
+				$("input[name='sh']").attr("checked",false)
+				layui.form.render();
+			}
+			$("#reimburseRemarks").val("");
+		})
+		$("#clearOpinons").click(function(){
+			var s=$("input[name='shs']").length;
+			for(var i=0;i<s;i++){
+				$("input[name='shs']").attr("checked",false)
+				layui.form.render();
+			}
+			$("#fuzerenOpinion").val("");
+		})
+		layui.use(['form', 'layer'], function () {
+			var form = layui.form;
+			//下拉框监听器
+			layui.form.on('select(zixunOpinion)', function(data){
+				var span=data.value;
+				if(span!=""){
+					var opinion=$("#reimburseRemarks").val()+span+";"
+					$("#reimburseRemarks").val(opinion);
+				}
+			});
+			layui.form.on('checkbox(raopinion)', function(data){
+				var span=data.value;
+				if(span!=""){
+					$(this).attr("checked",false)
+					var opinion=$("#reimburseRemarks").val()+span+";"
+					$("#reimburseRemarks").val(opinion);
+				}
+			});
+			layui.form.on('select(fuzerenOpinion)', function(data){
+				var span=data.value;
+				if(span!=""){
+					var opinion=$("#fuzerenOpinion").val()+span+";"
+					$("#fuzerenOpinion").val(opinion);
+				}
+			});
+			layui.form.on('checkbox(raopinions)', function(data){
+				var span=data.value;
+				if(span!=""){
+					$(this).attr("checked",false)
+					var opinion=$("#fuzerenOpinion").val()+span+";"
+					$("#fuzerenOpinion").val(opinion);
+				}
+			});
+		});
+	})
+</script>
+</body>
+</html>