Ver código fonte

上报参数获取

user5 4 anos atrás
pai
commit
a8642d14ed
24 arquivos alterados com 1335 adições e 63 exclusões
  1. 18 0
      src/main/java/com/jeeplus/modules/reported/dao/ProjectReportedTypeDao.java
  2. 74 0
      src/main/java/com/jeeplus/modules/reported/entity/ProjectReportedType.java
  3. 120 0
      src/main/java/com/jeeplus/modules/reported/service/ProjectReportedTypeService.java
  4. 191 0
      src/main/java/com/jeeplus/modules/reported/web/ProjectReportedTypeController.java
  5. 8 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageDao.java
  6. 1 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java
  7. 134 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  8. 2 3
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java
  9. 2 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java
  10. 124 0
      src/main/resources/mappings/modules/reported/ProjectReportedTypeDao.xml
  11. 26 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  12. 12 0
      src/main/webapp/static/oss/ossupload.js
  13. 174 0
      src/main/webapp/webpage/modules/reported/projectReportedTypeForm.jsp
  14. 306 0
      src/main/webapp/webpage/modules/reported/projectReportedTypeList.jsp
  15. 21 6
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReportedForm.jsp
  16. 8 5
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedForm.jsp
  17. 8 5
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedFormPerson.jsp
  18. 21 5
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedModify.jsp
  19. 9 6
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/adminReportEditForms.jsp
  20. 21 5
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedAudit.jsp
  21. 21 5
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedForm.jsp
  22. 8 5
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedFormPerson.jsp
  23. 21 5
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedModify.jsp
  24. 5 9
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedView.jsp

+ 18 - 0
src/main/java/com/jeeplus/modules/reported/dao/ProjectReportedTypeDao.java

@@ -0,0 +1,18 @@
+package com.jeeplus.modules.reported.dao;
+
+import com.jeeplus.common.persistence.CrudDao;
+import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.reported.entity.ProjectReportedType;
+
+/**
+ * @author: 徐滕
+ * @create: 2021-06-17 11:01
+ **/
+@MyBatisDao
+public interface ProjectReportedTypeDao extends CrudDao<ProjectReportedType> {
+
+
+    ProjectReportedType getReportedType(String tpye);
+
+    ProjectReportedType getReportedByType(ProjectReportedType projectReportedType);
+}

+ 74 - 0
src/main/java/com/jeeplus/modules/reported/entity/ProjectReportedType.java

@@ -0,0 +1,74 @@
+package com.jeeplus.modules.reported.entity;
+
+import com.jeeplus.common.persistence.DataEntity;
+
+/**
+ * @author: 徐滕
+ * @create: 2021-06-17 10:55
+ **/
+public class ProjectReportedType extends DataEntity<ProjectReportedType> {
+
+    private String projectType;      //项目类型
+    private String reportedType;    //上报类型
+    private String projectKey;       //项目key
+    private String reportedKey;     //上报key
+    private String projectKeyName;       //项目key name
+    private String reportedKeyName;     //上报key name
+    private String projectTypeName;     //项目类型 name
+
+    public String getProjectType() {
+        return projectType;
+    }
+
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
+    }
+
+    public String getReportedType() {
+        return reportedType;
+    }
+
+    public void setReportedType(String reportedType) {
+        this.reportedType = reportedType;
+    }
+
+    public String getProjectKey() {
+        return projectKey;
+    }
+
+    public void setProjectKey(String projectKey) {
+        this.projectKey = projectKey;
+    }
+
+    public String getReportedKey() {
+        return reportedKey;
+    }
+
+    public void setReportedKey(String reportedKey) {
+        this.reportedKey = reportedKey;
+    }
+
+    public String getProjectKeyName() {
+        return projectKeyName;
+    }
+
+    public void setProjectKeyName(String projectKeyName) {
+        this.projectKeyName = projectKeyName;
+    }
+
+    public String getReportedKeyName() {
+        return reportedKeyName;
+    }
+
+    public void setReportedKeyName(String reportedKeyName) {
+        this.reportedKeyName = reportedKeyName;
+    }
+
+    public String getProjectTypeName() {
+        return projectTypeName;
+    }
+
+    public void setProjectTypeName(String projectTypeName) {
+        this.projectTypeName = projectTypeName;
+    }
+}

+ 120 - 0
src/main/java/com/jeeplus/modules/reported/service/ProjectReportedTypeService.java

@@ -0,0 +1,120 @@
+package com.jeeplus.modules.reported.service;
+
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.service.CrudService;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
+import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
+import com.jeeplus.modules.reported.dao.ProjectReportedTypeDao;
+import com.jeeplus.modules.reported.entity.ProjectReportedType;
+import com.jeeplus.modules.sys.entity.MainDictDetail;
+import com.jeeplus.modules.sys.utils.DictUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @author: 徐滕
+ * @create: 2021-06-17 11:00
+ **/
+@Service
+@Transactional(readOnly = true)
+public class ProjectReportedTypeService extends CrudService<ProjectReportedTypeDao, ProjectReportedType> {
+
+    @Autowired
+    private ProjectEngineeringService engineeringService;
+
+    /**
+     * 获取项目附件模板类型
+     * @return
+     */
+    public List<MainDictDetail> attachmentTemplateList(){
+        return  DictUtils.getMainDictList("project_reported_type");
+    }
+    /**
+     * 获取项目附件模板类型
+     * @return
+     */
+    public List<MainDictDetail> getTemplateList(String type){
+        return  DictUtils.getMainDictList(type);
+    }
+
+    public ProjectReportedType get(String id) {
+        return super.get(id);
+    }
+    /**
+     * 获取项目附件模板类型
+     * @return
+     */
+    public ProjectReportedType getReportedType(String type){
+        return  dao.getReportedType(type);
+    }
+
+
+
+    /**
+     * 项目计划查询数据信息
+     * @param page
+     * @param projectReportedType
+     * @return
+     */
+    public Page<ProjectReportedType> findPage(Page<ProjectReportedType> page, ProjectReportedType projectReportedType) {
+        int count = dao.queryCount(projectReportedType);
+        page.setCount(count);
+        page.setCountFlag(false);
+        projectReportedType.setPage(page);
+        List<ProjectReportedType> recordsList = dao.findList(projectReportedType);
+        for (ProjectReportedType info: recordsList) {
+            if(StringUtils.isNotBlank(info.getProjectKey())){
+                if("engineeringType".equals(info.getProjectType())){
+                    List<ProjectEngineeringInfo> parentInfoList = engineeringService.getParentInfo();
+                    for (ProjectEngineeringInfo detail: parentInfoList) {
+                        if(info.getProjectKey().equals(detail.getId())){
+                            info.setProjectKeyName(detail.getEngineeringName());
+                            break;
+                        }
+                    }
+                }else{
+                    List<MainDictDetail> projectTypeList = this.getTemplateList(info.getProjectType());
+                    for (MainDictDetail detail: projectTypeList) {
+                        if(info.getProjectKey().equals(detail.getValue())){
+                            info.setProjectKeyName(detail.getLabel());
+                            break;
+                        }
+                    }
+                }
+
+                List<MainDictDetail> reportedTypeList = this.getTemplateList(info.getReportedType());
+                for (MainDictDetail detail: reportedTypeList) {
+                    if(info.getReportedKey().equals(detail.getValue())){
+                        info.setReportedKeyName(detail.getLabel());
+                        break;
+                    }
+                }
+            }
+        }
+        page.setList(recordsList);
+        return page;
+    }
+
+
+    /**
+     * 新增
+     * @param projectReportedType
+     */
+    @Transactional(readOnly = false)
+    public void save(ProjectReportedType projectReportedType) {
+        super.save(projectReportedType);
+    }
+
+
+    /**
+     * 获取项目附件模板类型
+     * @return
+     */
+    public ProjectReportedType getReportedByType(ProjectReportedType projectReportedType){
+        return  dao.getReportedByType(projectReportedType);
+    }
+}

+ 191 - 0
src/main/java/com/jeeplus/modules/reported/web/ProjectReportedTypeController.java

@@ -0,0 +1,191 @@
+package com.jeeplus.modules.reported.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.projectAccessory.entity.CollectAccessoryInfo;
+import com.jeeplus.modules.projectAccessory.service.CollectAccessoryService;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
+import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
+import com.jeeplus.modules.reported.entity.ProjectReportedType;
+import com.jeeplus.modules.reported.service.ProjectReportedTypeService;
+import com.jeeplus.modules.sys.entity.Area;
+import com.jeeplus.modules.sys.entity.MainDictDetail;
+import com.jeeplus.modules.sys.entity.Workattachment;
+import com.jeeplus.modules.sys.service.WorkattachmentService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author: 徐滕
+ * @create: 2021-06-17 10:55
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/projectReportedType/projectReportedType")
+public class ProjectReportedTypeController extends BaseController {
+
+    @Autowired
+    private ProjectReportedTypeService projectReportedTypeService;
+    @Autowired
+    private ProjectEngineeringService engineeringService;
+
+    @ModelAttribute
+    public ProjectReportedType get(@RequestParam(required=false) String id) {
+        ProjectReportedType entity = null;
+        if (StringUtils.isNotBlank(id)){
+            entity = projectReportedTypeService.get(id);
+        }
+        if (entity == null){
+            entity = new ProjectReportedType();
+        }
+        return entity;
+    }
+
+    /**
+     * 查询列表页面
+     */
+    @RequiresPermissions("projectReportedType:projectReportedType:list")
+    @RequestMapping(value = {"list", ""})
+    public String list(ProjectReportedType projectReportedType, HttpServletRequest request, HttpServletResponse response, Model model) {
+        if(UserUtils.isManager()){
+            model.addAttribute("flag","1");
+        }
+        //获取项目信息
+        Page<ProjectReportedType> page = projectReportedTypeService.findPage(new Page<ProjectReportedType>(request, response), projectReportedType);
+
+        model.addAttribute("page", page);
+        return "modules/reported/projectReportedTypeList";
+    }
+
+
+    /**
+     * 查看,增加,编辑工程类型表单页面
+     * @param projectReportedType
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"projectReportedType:projectReportedType:save","projectReportedType:projectReportedType:modify"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ProjectReportedType projectReportedType, Model model) {
+        //获取字典值
+        List<MainDictDetail> parentInfos= projectReportedTypeService.attachmentTemplateList();
+        model.addAttribute("parentInfos", parentInfos);
+        model.addAttribute("projectReportedType", projectReportedType);
+        return "modules/reported/projectReportedTypeForm";
+    }
+
+
+    @RequestMapping("getProjectReportedType")
+    @ResponseBody
+    public Map getProjectReportedType(String projectType){
+        Map map = new HashMap();
+        try {
+            //根据项目类型查询对应上报字段类型
+            ProjectReportedType info = projectReportedTypeService.getReportedType(projectType);
+
+            if (StringUtils.isNotBlank(projectType)) {
+                if("engineeringType".equals(projectType)){
+                    if(null != info){
+                        //获取字典值
+                        List<MainDictDetail> recordsDetailList= Lists.newArrayList();
+                        List<ProjectEngineeringInfo> parentInfoList = engineeringService.getParentInfo();
+                        for (ProjectEngineeringInfo engineering: parentInfoList) {
+                            MainDictDetail detail = new MainDictDetail();
+                            detail.setValue(engineering.getId());
+                            detail.setLabel(engineering.getEngineeringName());
+                            recordsDetailList.add(detail);
+                        }
+                        map.put("records", recordsDetailList);
+                        if(StringUtils.isNotBlank(info.getReportedType())){
+                            //获取字典值
+                            List<MainDictDetail> reportedDetailList= projectReportedTypeService.getTemplateList(info.getReportedType());
+                            map.put("reported", reportedDetailList);
+                            map.put("reportedType", info.getReportedType());
+                        }else{
+                            map.put("reported", null);
+                        }
+                        map.put("success",true);
+                    }
+                }else{
+                    if(null != info){
+                        //获取字典值
+                        List<MainDictDetail> recordsDetailList= projectReportedTypeService.getTemplateList(projectType);
+                        map.put("records", recordsDetailList);
+                        if(StringUtils.isNotBlank(info.getReportedType())){
+                            //获取字典值
+                            List<MainDictDetail> reportedDetailList= projectReportedTypeService.getTemplateList(info.getReportedType());
+                            map.put("reported", reportedDetailList);
+                            map.put("reportedType", info.getReportedType());
+                        }else{
+                            map.put("reported", null);
+                        }
+                        map.put("success",true);
+                    }
+                }
+            }
+        }catch (Exception e){
+            logger.error("获取数据出错",e);
+            map.put("records", "");
+            map.put("success",false);
+        }
+        return  map;
+    }
+
+
+    /**
+     * 保存工程类型
+     * @param projectReportedType
+     * @param model
+     * @param redirectAttributes
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions(value={"projectReportedType:projectReportedType:save","projectReportedType:projectReportedType:edit"},logical= Logical.OR)
+    @RequestMapping(value = "save")
+    public String save(ProjectReportedType projectReportedType, Model model, RedirectAttributes redirectAttributes) throws Exception{
+        if (!beanValidator(model, projectReportedType)){
+            return form(projectReportedType, model);
+        }
+        if(!projectReportedType.getIsNewRecord()){//编辑表单保存
+            ProjectReportedType t = projectReportedTypeService.get(projectReportedType.getId());//从数据库取出记录的值
+            MyBeanUtils.copyBeanNotNull2Bean(projectReportedType, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
+            projectReportedTypeService.save(t);//保存
+        }else{//新增表单保存
+            projectReportedTypeService.save(projectReportedType);//保存
+        }
+        addMessage(redirectAttributes, "保存成功");
+        return "redirect:"+ Global.getAdminPath()+"/projectReportedType/projectReportedType/?repage";
+    }
+
+    /**
+     * 删除文件
+     * @param projectReportedType
+     * @return
+     */
+    @RequestMapping(value = "delete")
+    public String delete(ProjectReportedType projectReportedType, RedirectAttributes redirectAttributes){
+        if(StringUtils.isNotBlank(projectReportedType.getId())){
+            projectReportedTypeService.delete(projectReportedType);
+        }
+        addMessage(redirectAttributes, "删除成功");
+        return "redirect:"+ Global.getAdminPath()+"/projectReportedType/projectReportedType/?repage";
+    }
+}

+ 8 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageDao.java

@@ -12,6 +12,7 @@ import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectReportData;
 import com.jeeplus.modules.sys.entity.Area;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -121,4 +122,10 @@ public interface RuralProjectMessageDao extends CrudDao<RuralProjectRecords> {
      * @return
      */
     List<Area> getProjectReportedAreaByParentId(String parentId);
-}
+    /**
+     * 根据父id查询上报地址信息
+     * @param parentId
+     * @return
+     */
+    Area getProjectReportedAreaByName(@Param("name") String name,@Param("parentId") String parentId);
+}

+ 1 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java

@@ -106,7 +106,7 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	private String projectSection;	//项目标段
 	private String projectClassify;	//项目分类
 	private String GCGMValueParameter;	//建筑规模参数
-	private List<String> contentsIncludeList;		//咨询项目造价包含内容说明(勾选)
+	private List<String> contentsIncludeList = Lists.newArrayList();		//咨询项目造价包含内容说明(勾选)
 	private String contentsInclude;//咨询项目造价包含内容说明(勾选)
 	private String projectTotalInvestment;	//项目总投资
 	private Date beginDate;	//作业期开始日期

+ 134 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -19,6 +19,8 @@ import com.jeeplus.modules.isignature.service.ISignatureDocumentService;
 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.projectEngineering.entity.ProjectEngineeringInfo;
+import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
@@ -35,6 +37,8 @@ import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
+import com.jeeplus.modules.reported.entity.ProjectReportedType;
+import com.jeeplus.modules.reported.service.ProjectReportedTypeService;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsReportedDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
@@ -177,6 +181,10 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     private UserService userService;
     @Autowired
     private WorkStaffBasicInfoService workStaffBasicInfoService;
+    @Autowired
+    private ProjectReportedTypeService projectReportedTypeService;
+    @Autowired
+    private ProjectEngineeringService engineeringService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -2086,6 +2094,14 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     public List<Area> getProjectReportedAreaByParentId(String parentId){
         return dao.getProjectReportedAreaByParentId(parentId);
     }
+    /**
+     * 根据项目地址名称和父节点查询上报地址信息
+     * @param parentId
+     * @return
+     */
+    public Area getProjectReportedAreaByName(String name,String parentId){
+        return dao.getProjectReportedAreaByName(name,parentId);
+    }
 
 
     /**
@@ -2115,9 +2131,9 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         reported.setShenDingJia(records.getReportData().getApprovalFee());
         reported.setJingHeJianE(records.getReportData().getVerifyFee());
         reported.setJingHeJianLv(records.getReportData().getVerifyRate());
-        reported.setPorjectStruct("11");
+        /*reported.setPorjectStruct("11");
         reported.setGCGMUnit("7");
-        reported.setPorjectUse("17");
+        reported.setPorjectUse("17");*/
         return reported;
     }
 
@@ -3206,4 +3222,120 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         }
         return consultantInfoList;
     }
+
+    /**
+     * 上报项目信息处理
+     * @param records
+     * @param reported
+     */
+    public void disposeProjectRecords(RuralProjectRecords records,RuralProjectRecordsReported reported){
+        //判定省份是否为空
+        if(StringUtils.isNotBlank(records.getProvince())){
+            if("江苏省".equals(records.getProvince())){
+                reported.setS1("10");
+                //判定市是否为空
+                if(StringUtils.isNotBlank(records.getCity())){
+
+                    Area areaCity = this.getProjectReportedAreaByName(records.getCity(), "10");
+                    if(null != areaCity){
+                        reported.setS2(areaCity.getId());
+                        //判定区是否为空
+                        if(StringUtils.isNotBlank(records.getCounty())){
+                                //判定区县级是否含有如下三个地区如果有则将该地区放入市级地区获取该地区的子集放到区级地区
+                            if("沭阳县".equals(records.getCounty()) || "昆山市".equals(records.getCounty()) || "泰兴市".equals(records.getCounty())){
+                                Area district = this.getProjectReportedAreaByName(records.getCounty(), null);
+                                if(null != district) {
+                                    reported.setS2(district.getId());
+                                    List<Area> projectReportedAreaByParentId = this.getProjectReportedAreaByParentId(district.getId());
+                                    reported.setS3(projectReportedAreaByParentId.get(0).getId());
+                                }
+                            }else{
+                                Area district = this.getProjectReportedAreaByName(records.getCounty(), areaCity.getId());
+                                if(null != district){
+                                    reported.setS3(district.getId());
+                                }
+                            }
+                        }
+                    }
+                }
+            }else{
+                reported.setS1("999");
+                //判定市是否为空
+                if(StringUtils.isNotBlank(records.getProvince())){
+                    Area areaCity = this.getProjectReportedAreaByName(records.getProvince(),"999");
+                    if(null != areaCity){
+                        reported.setS3(areaCity.getId());
+                    }
+                }
+            }
+        }
+        //判断工程结构是否已填,没填默认给其他选项
+        if(StringUtils.isBlank(reported.getPorjectStruct())){
+            reported.setPorjectStruct("099");
+        }
+        //判断建筑规模是否已填,没填默认给其他选项
+        if(StringUtils.isBlank(reported.getGCGMValue())){
+            reported.setGCGMValue("50");
+        }
+        //判断项目分类是否已填
+        if(StringUtils.isNotBlank(records.getEngineeringType())){
+            //根据项目分类查询其父节点
+            //获取工程类型
+            ProjectEngineeringInfo engineeringInfo=engineeringService.get(records.getEngineeringType());
+            if(null != engineeringInfo){
+                //如果其父节点不是0 则循环查询到第一节点
+                while(!"0".equals(engineeringInfo.getParent().getId())){
+                    engineeringInfo=engineeringService.get(engineeringInfo.getParent().getId());
+                }
+            }
+            //根据项目类型查询对应上报字段类型
+            ProjectReportedType typeInfo = new ProjectReportedType();
+            typeInfo.setProjectKey(engineeringInfo.getId());
+            typeInfo.setProjectType("engineeringType");
+            ProjectReportedType info = projectReportedTypeService.getReportedByType(typeInfo);
+            if(null!= info){
+                reported.setProjectClassify(info.getReportedKey());
+            }
+        }
+
+        //判断合同类别是否已填
+        if(null != records.getWorkContractInfo() && StringUtils.isNotBlank(records.getWorkContractInfo().getContractTypeDoc())){
+            //根据项目类型查询对应上报字段类型
+            ProjectReportedType typeInfo = new ProjectReportedType();
+            typeInfo.setProjectKey(records.getWorkContractInfo().getContractTypeDoc());
+            typeInfo.setProjectType("contract_info_type");
+            ProjectReportedType info = projectReportedTypeService.getReportedByType(typeInfo);
+            if(null!= info) {
+                reported.setHeTongLeiXing(info.getReportedKey());
+            }
+        }
+
+        //判断投资性质是否已填
+        if(StringUtils.isNotBlank(records.getProjectProperties())){
+            //根据项目类型查询对应上报字段类型
+            ProjectReportedType typeInfo = new ProjectReportedType();
+            typeInfo.setProjectKey(records.getProjectProperties());
+            typeInfo.setProjectType("project_properties");
+            ProjectReportedType info = projectReportedTypeService.getReportedByType(typeInfo);
+            if(null!= info) {
+                reported.setTouZiXZ(info.getReportedKey());
+            }
+        }
+
+        //判断项目类型是否已填
+        if(StringUtils.isNotBlank(records.getAttachmentProjectSort())){
+            //根据项目类型查询对应上报字段类型
+            ProjectReportedType typeInfo = new ProjectReportedType();
+            typeInfo.setProjectKey(records.getAttachmentProjectSort());
+            if("1".equals(records.getProjectType())){
+                typeInfo.setProjectType("attachment_project_sort");
+            }else if("2".equals(records.getProjectType())){
+                typeInfo.setProjectType("attachment_project_sort_cost");
+            }
+            ProjectReportedType info = projectReportedTypeService.getReportedByType(typeInfo);
+            if(null!= info) {
+                reported.setProjectType(info.getReportedKey());
+            }
+        }
+    }
 }

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

@@ -1720,6 +1720,8 @@ public class RuralCostProjectMessageController extends BaseController {
             reported.setShenDingJia(String.format("%.2f", shenDingJia));
             Double jingHeJianE = Double.valueOf(reported.getJingHeJianE())/10000;
             reported.setJingHeJianE(String.format("%.2f", jingHeJianE));
+
+            ruralProjectMessageService.disposeProjectRecords(records,reported);
         }
         //根据上报id查询上报咨询员的信息
         List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());
@@ -1741,9 +1743,6 @@ public class RuralCostProjectMessageController extends BaseController {
         //查询项目信息
         model.addAttribute("ruralProjectRecords", records);
         model.addAttribute("consultantInfo", consultantList);
-        if(StringUtils.isBlank(reported.getS1())){
-            reported.setS1("10");
-        }
         //获取工程类型
         ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
         model.addAttribute("engineeringInfo", engineeringInfos);

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

@@ -1751,6 +1751,8 @@ public class RuralProjectMessageController extends BaseController {
             reported.setShenDingJia(String.format("%.2f", shenDingJia));
             Double jingHeJianE = Double.valueOf(reported.getJingHeJianE())/10000;
             reported.setJingHeJianE(String.format("%.2f", jingHeJianE));
+
+            ruralProjectMessageService.disposeProjectRecords(records,reported);
         }
         //根据上报id查询上报咨询员的信息
         List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());

+ 124 - 0
src/main/resources/mappings/modules/reported/ProjectReportedTypeDao.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.reported.dao.ProjectReportedTypeDao">
+
+	<sql id="projectRecordsColumns">
+		distinct(a.id) AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		(select name from sys_user user where user.id=a.create_by) AS "createBy.name",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+		a.project_type AS "projectType",
+		a.reported_type AS "reportedType",
+		a.project_key AS "projectKey",
+		a.reported_key AS "reportedKey"
+	</sql>
+
+	<select id="get" resultType="com.jeeplus.modules.reported.entity.ProjectReportedType" >
+		SELECT
+			<include refid="projectRecordsColumns"/>
+			from project_records_reported_type_info a
+		WHERE a.id = #{id}
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.modules.reported.entity.ProjectReportedType" >
+		SELECT
+			<include refid="projectRecordsColumns"/>
+			,b.project_type_name as "projectTypeName"
+		from project_records_reported_type_info a
+		left join project_records_reported_info b on a.project_type = b.project_type
+		<where>
+			a.del_flag = 0
+			<if test="projectType !=null and projectType != ''">
+				and a.project_type = #{projectType}
+			</if>
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+    <select id="queryCount" resultType="int" >
+        SELECT count(DISTINCT a.id)
+		from project_records_reported_type_info a
+		<where>
+			a.del_flag = 0
+			<if test="projectType !=null and projectType != ''">
+				and a.project_type = #{projectType}
+			</if>
+        </where>
+    </select>
+
+	<insert id="insert">
+		INSERT INTO project_records_reported_type_info(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			remarks,
+			project_type,
+			reported_type,
+			project_key,
+			reported_key
+		) VALUES (
+			#{id},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{delFlag},
+			#{remarks},
+			#{projectType},
+			#{reportedType},
+			#{projectKey},
+			#{reportedKey}
+		)
+	</insert>
+
+	<update id="update">
+		UPDATE project_records_reported_type_info SET
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			project_type = #{projectType},
+			reported_type = #{reportedType},
+			project_key = #{projectKey},
+			reported_key = #{reportedKey}
+		WHERE id = #{id}
+	</update>
+
+
+	<!--物理删除-->
+	<update id="delete">
+		UPDATE project_records_reported_type_info SET
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+
+	<select id="getReportedType" resultType="com.jeeplus.modules.reported.entity.ProjectReportedType">
+		select
+		  id,
+		  project_type as "projectType",
+		  reported_type as "reportedType"
+		from
+		  project_records_reported_info
+		where project_type = #{type}
+	</select>
+
+	<select id="getReportedByType" resultType="com.jeeplus.modules.reported.entity.ProjectReportedType">
+		select
+			<include refid="projectRecordsColumns"/>
+		from
+		project_records_reported_type_info a
+		where project_type = #{projectType} and project_key = #{projectKey}
+	</select>
+
+</mapper>

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

@@ -1185,4 +1185,30 @@
 		where
 			del_flag = 0 and parent_id = #{parentId}
 	</select>
+
+	<select id="getProjectReportedAreaByName" resultType="com.jeeplus.modules.sys.entity.Area">
+		select
+		  id,
+		  parent_id,
+		  parent_ids,
+		  name,
+		  sort,
+		  code,
+		  type,
+		  create_by,
+		  create_date,
+		  update_by,
+		  update_date,
+		  remarks,
+		  del_flag
+		from
+		  project_reported_area
+		<where>
+			del_flag = 0
+			and name = #{name}
+			<if test="parentId !=null and parentId !=''">
+				and parent_id = #{parentId}
+			</if>
+		</where>
+	</select>
 </mapper>

+ 12 - 0
src/main/webapp/static/oss/ossupload.js

@@ -58,6 +58,8 @@ function ftlUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,d
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
     /*console.log(file.name.indexOf("—")!=-1);
@@ -80,6 +82,8 @@ function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,upload
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
     /*console.log(file.name.indexOf("—")!=-1);
@@ -108,6 +112,8 @@ function multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,upload
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
 
@@ -301,6 +307,8 @@ function multipartUploadWithStsCollection(storeAs, file,attachmentId,attachmentF
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
 
@@ -779,6 +787,8 @@ function multipartUploadWithStsRecordsReported(storeAs, file,attachmentId,attach
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
 
@@ -1230,6 +1240,8 @@ function fileCollectAccessory(storeAs, file,attachmentId,attachmentFlag,uploadPa
     fileName = fileName.replace(/—/g,"-")
     fileName = fileName.replace("……","")
     fileName = fileName.replace("±","")
+    fileName = fileName.replace("#","")
+    fileName = fileName.replace("%","")
     var dfl=new File([file],fileName,{type:file.type});
     file = dfl
     requestUrl = realPath+"/previewController/getAccess";

+ 174 - 0
src/main/webapp/webpage/modules/reported/projectReportedTypeForm.jsp

@@ -0,0 +1,174 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目上报字典类型</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+	<script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
+	<style>
+		label.error{
+			top:40px;
+			left:0;
+		}
+		#standardDetail-error{
+			top:82px;
+			left:0;
+		}
+	</style>
+	<script type="text/javascript">
+		var validateForm;
+		function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+			if(validateForm.form()){
+				var projectKey = $("#projectKey").val();
+				var reportedKey = $("#reportedKey").val();
+				if (projectKey == undefined || projectKey == null || projectKey == ''){
+					parent.layer.msg("请选择项目或合同相关类型!", {icon: 5});
+					return ;
+				}
+				if (reportedKey == undefined || reportedKey == null || reportedKey == ''){
+					parent.layer.msg("请选择上报类型!", {icon: 5});
+					return ;
+				}
+				$("#inputForm").submit();
+				return true;
+			}
+
+			return false;
+		}
+		$(document).ready(function() {
+			layui.use(['form', 'layer'], function () {
+				var form = layui.form;
+			});
+			validateForm = $("#inputForm").validate({
+				submitHandler: function(form){
+					loading('正在提交,请稍等...');
+					form.submit();
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+
+
+			layui.use(['table','form', 'layer'], function() {
+				var form = layui.form;
+				form.render();
+
+				layui.form.on('select(projectReportedTypeFilter)',function(data) {
+					if (data.value == "") {
+						$('#projectKey').html('<option value=""></option>');
+						$('#reportedKey').html('<option value=""></option>');
+						layui.form.render("select");
+					} else {
+						$('#projectKey').html('<option value=""></option>')
+						$('#reportedKey').html('<option value=""></option>');
+						$.ajax({
+							type:"post",
+							url:'${ctx}/projectReportedType/projectReportedType/getProjectReportedType',
+							data:{"projectType":data.value},
+							dataType:"json",
+							async: false,
+							success:function(data){
+								if(data.success) {
+									$('#reportedType').val(data.reportedType)
+									for (var info in data.records){
+										if(data.records[info].value == '${projectReportedType.projectKey}'){
+											$('#projectKey').append(new Option(data.records[info].label,data.records[info].value,true,true));
+										}else{
+											$('#projectKey').append(new Option(data.records[info].label,data.records[info].value));
+										}
+									}
+									for (var info in data.reported){
+										if(data.reported[info].value == '${projectReportedType.projectKey}'){
+											$('#reportedKey').append(new Option(data.reported[info].label,data.reported[info].value,true,true));
+										}else{
+											$('#reportedKey').append(new Option(data.reported[info].label,data.reported[info].value));
+										}
+
+									}
+								}
+							}
+						})
+						layui.form.render("select");
+					}
+				});
+
+				$.ajax({
+					type:"post",
+					url:'${ctx}/projectReportedType/projectReportedType/getProjectReportedType',
+					data:{"projectType":'${projectReportedType.projectType}'},
+					dataType:"json",
+					async: false,
+					success:function(data){
+						if(data.success) {
+							$('#reportedType').val(data.reportedType)
+							for (var info in data.records){
+								if(data.records[info].value == '${projectReportedType.projectKey}'){
+									$('#projectKey').append(new Option(data.records[info].label,data.records[info].value,true,true));
+								}else{
+									$('#projectKey').append(new Option(data.records[info].label,data.records[info].value));
+								}
+							}
+							for (var info in data.reported){
+								if(data.reported[info].value == '${projectReportedType.reportedKey}'){
+									$('#reportedKey').append(new Option(data.reported[info].label,data.reported[info].value,true,true));
+								}else{
+									$('#reportedKey').append(new Option(data.reported[info].label,data.reported[info].value));
+								}
+
+							}
+						}
+					}
+				})
+				layui.form.render("select");
+			});
+		});
+	</script>
+</head>
+<body>
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="projectReportedType" action="${ctx}/projectReportedType/projectReportedType/save" method="post" class="form-horizontal layui-form">
+			<form:hidden path="id"/>
+			<form:hidden path="reportedType"/>
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>字典类型信息</h2></div>
+				<div class="layui-item layui-col-sm6 ">
+					<label class="layui-form-label">字典类型:</label>
+					<div class="layui-input-block">
+						<select name="projectType" class="form-control required simple-select" lay-filter="projectReportedTypeFilter">
+							<option value="">请选择字典类型</option>
+							<c:forEach items="${parentInfos}" var="info" varStatus="index">
+								<option value="${info.value}" <c:if test="${projectReportedType.projectType == info.value}">selected</c:if>>${info.label}</option>
+							</c:forEach>
+						</select>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 "></div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>项目类型</label>
+					<div class="layui-input-block">
+						<select id="projectKey" name="projectKey" lay-verify="required"></select>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>上报类型</label>
+					<div class="layui-input-block">
+						<select id="reportedKey" name="reportedKey" lay-verify="required"></select>
+					</div>
+				</div>
+			</div>
+		</form:form>
+	</div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+</body>
+</html>

+ 306 - 0
src/main/webapp/webpage/modules/reported/projectReportedTypeList.jsp

@@ -0,0 +1,306 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目上报字典类型</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+	<script type="text/javascript">
+        $(document).ready(function() {
+			layui.use(['dropdown', 'util', 'layer'], function () {
+				var form = layui.form;
+			})
+            //搜索框收放
+            $('#moresee').click(function(){
+                if($('#moresees').is(':visible'))
+                {
+                    $('#moresees').slideUp(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+                }else{
+                    $('#moresees').slideDown(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+                }
+            });
+        });
+
+        function reset() {
+            $("#searchForm").resetForm();
+        }
+
+        function openDialog(title,url,width,height,target) {
+
+            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+                width = 'auto';
+                height = 'auto';
+            } else {//如果是PC端,根据用户设置的width和height显示。
+
+            }
+
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                maxmin: true, //开启最大化最小化按钮
+                content: url,
+                skin: 'three-btns',
+                btn: ['提交', '关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2: function (index) {
+                }
+            });
+        }
+		//打开对话框(查看)
+		function openDialogReportView(title,url,id,width,height){
+
+
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			$.ajax({
+				async: false,
+				url: "${ctx}/ruralProject/ruralProjectMessage/getReportExist?id="+id,
+				dataType: "json",
+				success: function (data) {
+					if(data.success){
+						top.layer.open({
+							type: 2,
+							skin: 'one-btn',
+							area: [width, height],
+							title: title,
+							maxmin: true, //开启最大化最小化按钮
+							content: url ,
+							btn: ['关闭'],
+							cancel: function(index){
+							}
+						});
+					}else{
+						top.layer.msg("该项目报告信息已删除!", {icon: 0});
+						window.location.reload();
+					}
+				}
+			});
+
+		}
+        function openDialogre(title,url,width,height,target,buttons) {
+
+            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+                width = 'auto';
+                height = 'auto';
+            } else {//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            var split = buttons.split(",");
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                maxmin: true, //开启最大化最小化按钮
+                skin: 'three-btns',
+                content: url,
+                btn: split,
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    if(split.length==2){return}
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }else {
+                        return false;
+                    }
+                },
+                btn3: function (index) {
+                }
+            });
+        }
+	</script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row contentShadow shadowLR" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="projectReportedType" action="${ctx}/projectReportedType/projectReportedType/list" method="post" class="form-inline">
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<input id="toflag" name="toflag" type="hidden" value="1"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+					<div class="commonQuery lw6">
+						<div class="layui-item query athird">
+							<label class="layui-form-label">类别名称:</label>
+							<div class="layui-input-block">
+								<form:select path="projectType" class="form-control layui-input">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getMainDictList('project_reported_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<%--<div class="layui-item query athird">
+							<label class="layui-form-label">附件名称:</label>
+							<div class="layui-input-block">
+								<form:input path="fileName" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird">
+							<label class="layui-form-label">上传人:</label>
+							<div class="layui-input-block with-icon">
+								<sys:treeselect id="collectUserId" name="collectUserId" value="${collectAccessoryInfo.collectUserId}" labelName="uploadUserName" labelValue="${collectAccessoryInfo.uploadUserName}" cssStyle="background-color: #fff"
+																	 title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+							</div>
+						</div>--%>
+						<div class="layui-item athird">
+							<div class="input-group">
+								<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+								<div class="layui-btn-group search-spacing">
+									<button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="search()">查询</button>
+									<button id="searchReset" class="layui-btn layui-btn-sm" onclick="resetSearch()">重置</button>
+								</div>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+					<div id="moresees" style="clear:both;display:none;" class="lw6">
+
+						<div style="clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-form contentDetails contentShadow shadowLBR">
+				<div class="nav-btns">
+					<div class="layui-btn-group">
+						<shiro:hasPermission name="projectReportedType:projectReportedType:save">
+							<table:addRow url="${ctx}/projectReportedType/projectReportedType/form" title="项目上报字典类型"></table:addRow><!-- 增加按钮 -->
+						</shiro:hasPermission>
+						<button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+					</div>
+					<div style="clear: both;"></div>
+				</div>
+				<div id="addFile_attachment" style="display: none" class="upload-progress">
+					<span id="fileName_attachment" ></span>
+					<b><span id="baifenbi_attachment" ></span></b>
+					<div class="progress">
+						<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+						</div>
+					</div>
+				</div>
+				<table class="oa-table layui-table" id="contentTable1"></table>
+
+				<!-- 分页代码 -->
+				<table:page page="${page}"></table:page>
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+	<div id="changewidth"></div>
+</div>
+
+<script>
+
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+			,id:"checkboxTable"
+            ,elem: '#contentTable1'
+            ,page: false
+            ,cols: [[
+                {field:'index',align:'center', title: '序号',width:55}
+				,{field:'projectTypeName',align:'center', title: '类型名称'}
+				,{field:'projectKeyName',align:'center', title: '项目对应名称'}
+				,{field:'reportedKeyName',align:'center', title: '上报对应名称'}
+				,{field:'createName',align:'center', title: '创建人',width:120}
+				,{field:'createDate',align:'center', title: '创建时间',width:120}
+                ,{field:'op',align:'center',title:"操作",width:200,templet:function(d){
+                        ////对操作进行初始化
+                        var xml="<div class=\"layui-btn-group\">";
+						xml+="<a href=\"#\" onclick=\"openDialog('修改类型', '${ctx}/projectReportedType/projectReportedType/form?id=" + d.id +"','95%', '95%','')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改</a>";
+						xml+="<a href=\"${ctx}/projectReportedType/projectReportedType/delete?id=" + d.id + "\" onclick=\"return confirmx('确认删除该对应类型吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\"> 删除</a>";
+                	xml+="</div>"
+                        return xml;
+
+                    }}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="info" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+				{
+                    "index":"${index.index+1}"
+                    ,"id":"${info.id}"
+                    ,"createName":"${info.createBy.name}"
+                    ,"projectTypeName":"${info.projectTypeName}"
+                    ,"projectKeyName":"${info.projectKeyName}"
+                    ,"reportedKeyName":"${info.reportedKeyName}"
+					,"createDate":"<fmt:formatDate value="${info.createDate}" pattern="yyyy-MM-dd"/>"
+				}
+				</c:forEach>
+                </c:if>
+            ]
+        });
+    })
+
+    resizeListTable();
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow2();
+    $(window).resize(function(){
+        resizeListWindow2();
+    });
+</script>
+</body>
+</html>

+ 21 - 6
src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReportedForm.jsp

@@ -62,10 +62,12 @@
                     return false;
                 }
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -959,6 +961,16 @@
             obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
         }
+        function numGCGN(obj){
+            var GCGMValue = $("#GCGMValue").val();
+            if(50 != GCGMValue){
+                obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
+                obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
+                obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
+                obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
+                obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
+            }
+        }
         function insertTitleCollection(tValue){
             var files = tValue;
             for(var i = 0;i<files.length;i++) {
@@ -1265,7 +1277,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>建筑规模:</label>
+                    <label class="layui-form-label"><span class="require-item">*</span>建筑规模:</label>
                     <div class="layui-input-block">
                         <form:select path="GCGMValue" class="form-control layui-input required simple-select" lay-filter="GCGMValue">
                             <form:options items="${fns:getMainDictList('architectural_scale')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
@@ -1273,7 +1285,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="num(this)" htmlEscape="false" class="form-control required layui-input number"/>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="numGCGN(this)" htmlEscape="false" class="form-control required layui-input number"/>
                 </div>
 
 
@@ -1283,6 +1295,9 @@
                         <form:input path="ZiXunBDE" placeholder="请输入咨询表的额" htmlEscape="false" onkeyup="num(this)" class="form-control required layui-input number" onchange="ZiXunBDEChange()"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">

+ 8 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedForm.jsp

@@ -71,11 +71,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -1073,4 +1076,4 @@
 
 </script>
 </body>
-</html>
+</html>

+ 8 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedFormPerson.jsp

@@ -71,11 +71,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -1071,4 +1074,4 @@
 
 </script>
 </body>
-</html>
+</html>

+ 21 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedModify.jsp

@@ -61,11 +61,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -952,6 +955,16 @@
             obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
         }
+        function numGCGN(obj){
+            var GCGMValue = $("#GCGMValue").val();
+            if(50 != GCGMValue){
+                obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
+                obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
+                obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
+                obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
+                obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
+            }
+        }
         function insertTitleCollection(tValue){
             var files = tValue;
             for(var i = 0;i<files.length;i++) {
@@ -1272,7 +1285,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" htmlEscape="false" onkeyup="num(this)" class="form-control required layui-input number"/>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" htmlEscape="false" onkeyup="numGCGN(this)" class="form-control required layui-input number"/>
                 </div>
 
 
@@ -1282,6 +1295,9 @@
                         <form:input path="ZiXunBDE" placeholder="请输入咨询表的额" htmlEscape="false" onkeyup="num(this)" class="form-control required layui-input number" onchange="ZiXunBDEChange()"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">

+ 9 - 6
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/adminReportEditForms.jsp

@@ -142,11 +142,14 @@
 						parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
 						return false;
 					}
+
 					//审定价
-					var ShenDingJia = $("#ShenDingJia").val();
-					if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-						parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-						return false;
+					if(!$("#ShenDingJia").is(":hidden")){
+						var ShenDingJia = $("#ShenDingJia").val();
+						if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+							parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+							return false;
+						}
 					}
 					var list = [];
 					var size = $("#shangBaoList1 tr").length;
@@ -472,7 +475,7 @@
                 multipartUploadWithSts(storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, "0");
             }
         }
-        
+
         function selectNum() {
 			top.layer.open({
 				type: 2,
@@ -2961,4 +2964,4 @@
 	}
 </script>
 </body>
-</html>
+</html>

+ 21 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedAudit.jsp

@@ -65,11 +65,14 @@
                         parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                         return false;
                     }
+
                     //审定价
-                    var ShenDingJia = $("#ShenDingJia").val();
-                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                        return false;
+                    if(!$("#ShenDingJia").is(":hidden")){
+                        var ShenDingJia = $("#ShenDingJia").val();
+                        if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                            parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                            return false;
+                        }
                     }
                     var list = [];
                     var size = $("#reportedConsultantList tr").length;
@@ -964,6 +967,16 @@
             obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
         }
+        function numGCGN(obj){
+            var GCGMValue = $("#GCGMValue").val();
+            if(50 != GCGMValue){
+                obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
+                obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
+                obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
+                obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
+                obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
+            }
+        }
         function insertTitleCollection(tValue){
             var files = tValue;
             for(var i = 0;i<files.length;i++) {
@@ -1286,7 +1299,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="num(this)" htmlEscape="false" class="form-control judgment layui-input number"/>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="numGCGN(this)" htmlEscape="false" class="form-control judgment layui-input number"/>
                 </div>
 
 
@@ -1296,6 +1309,9 @@
                         <form:input path="ZiXunBDE" placeholder="请输入咨询表的额" htmlEscape="false" onkeyup="num(this)" class="form-control judgment layui-input number" onchange="ZiXunBDEChange()"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">

+ 21 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedForm.jsp

@@ -61,11 +61,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -959,6 +962,16 @@
             obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
         }
+        function numGCGN(obj){
+            var GCGMValue = $("#GCGMValue").val();
+            if(50 != GCGMValue){
+                obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
+                obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
+                obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
+                obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
+                obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
+            }
+        }
     </script>
 </head>
 <body>
@@ -1259,7 +1272,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="num(this)" htmlEscape="false" class="form-control required layui-input number"/>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="numGCGN(this)" htmlEscape="false" class="form-control required layui-input number"/>
                 </div>
 
 
@@ -1269,6 +1282,9 @@
                         <form:input path="ZiXunBDE" placeholder="请输入咨询表的额" htmlEscape="false" onkeyup="num(this)" class="form-control required layui-input number" onchange="ZiXunBDEChange()"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">

+ 8 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedFormPerson.jsp

@@ -71,11 +71,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -1055,4 +1058,4 @@
 
 </script>
 </body>
-</html>
+</html>

+ 21 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedModify.jsp

@@ -61,11 +61,14 @@
                     parent.layer.msg("咨询营业收入金额必须大于0!", {icon: 5});
                     return false;
                 }
+
                 //审定价
-                var ShenDingJia = $("#ShenDingJia").val();
-                if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
-                    parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
-                    return false;
+                if(!$("#ShenDingJia").is(":hidden")){
+                    var ShenDingJia = $("#ShenDingJia").val();
+                    if(parseFloat(ZiXunShouRu) >= parseFloat(ShenDingJia)){
+                        parent.layer.msg("咨询营业收入金额应小于审定价!", {icon: 5});
+                        return false;
+                    }
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
@@ -956,6 +959,16 @@
             obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
         }
+        function numGCGN(obj){
+            var GCGMValue = $("#GCGMValue").val();
+            if(50 != GCGMValue){
+                obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
+                obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
+                obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
+                obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
+                obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
+            }
+        }
     </script>
 </head>
 <body>
@@ -1262,7 +1275,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="num(this)" htmlEscape="false" class="form-control required layui-input number"/>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" onkeyup="numGCGN(this)" htmlEscape="false" class="form-control required layui-input number"/>
                 </div>
 
 
@@ -1272,6 +1285,9 @@
                         <form:input path="ZiXunBDE" placeholder="请输入咨询表的额" htmlEscape="false" onkeyup="num(this)" class="form-control required layui-input number" onchange="ZiXunBDEChange()"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">

+ 5 - 9
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedView.jsp

@@ -7,6 +7,8 @@
     <script type="text/javascript" src="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.js"></script>
     <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
     <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
     <style>
         #projectDesc-error{
             left:0;
@@ -340,6 +342,9 @@
                         <form:input path="ZiXunBDE" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
                     </div>
                 </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <span style="color: red">注:咨询标的额是指咨询项目编审后的最终造价,其中工程结算项目填审定价,标底编制填招标控制价,工程造价全过程管理填工程投资总额或审定价</span>
+                </div>
 
                 <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">
@@ -561,14 +566,5 @@
     </div>
 </div>
 
-<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
-<script>
-
-    layui.use(['table','form'], function(){
-
-        var form = layui.form;
-        form.render();
-    })
-</script>
 </body>
 </html>