Răsfoiți Sursa

4库红黄灯

JiangPengLi 2 luni în urmă
părinte
comite
ec012dbe49
21 a modificat fișierele cu 1337 adăugiri și 92 ștergeri
  1. 4 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/enums/RedLightEnum.java
  2. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/enums/SubInfoStatusEnum.java
  3. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml
  4. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoQueryService.java
  5. 147 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java
  6. 2 1
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java
  7. 3 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/PreWarnDataQueryVO.java
  8. 3 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/SubInfoQueryTzVO.java
  9. 14 0
      projects/src/main/java/com/rtrh/projects/web/controller/problemreport/ProblemInfoController.java
  10. 9 1
      projects/src/main/java/com/rtrh/projects/web/controller/problemreport/api/ProblemInfoApiController.java
  11. 3 1
      projects/src/main/java/com/rtrh/projects/web/controller/statics/AnalysisScreenController.java
  12. 32 0
      projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoQueryApiController.java
  13. 930 0
      projects/src/main/webapp/vmodules/problem/info/cbProblem.jsp
  14. 68 28
      projects/src/main/webapp/vmodules/problem/info/preInfo.jsp
  15. 44 45
      projects/src/main/webapp/vmodules/statics/analysisScreen_four.jsp
  16. 3 1
      projects/src/main/webapp/vmodules/statics/layer/projInfo_new.jsp
  17. 1 10
      projects/src/main/webapp/vmodules/subject/subInfo/tz/cb.jsp
  18. 14 1
      projects/src/main/webapp/vmodules/subject/subInfo/tz/end.jsp
  19. 14 1
      projects/src/main/webapp/vmodules/subject/subInfo/tz/main.jsp
  20. 14 2
      projects/src/main/webapp/vmodules/subject/subInfo/tz/new.jsp
  21. 14 1
      projects/src/main/webapp/vmodules/subject/subInfo/tz/xmzk.jsp

+ 4 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/enums/RedLightEnum.java

@@ -39,4 +39,8 @@ public enum RedLightEnum {
             return map;
         }).collect(Collectors.toList());
     }
+
+    public static List<String> getValidCodeList() {
+        return Arrays.stream(values()).filter(x -> !x.equals(GREEN)).map(x -> x.code).collect(Collectors.toList());
+    }
 }

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/enums/SubInfoStatusEnum.java

@@ -5,6 +5,8 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 4库 项目状态
@@ -35,4 +37,8 @@ public enum SubInfoStatusEnum {
         SubInfoStatusEnum anEnum = getEnum(code);
         return anEnum != null ? getEnum(code).desc : null;
     }
+
+    public static List<String> getValidCodeList() {
+        return Arrays.stream(values()).filter(x -> !x.equals(REMOVE)).map(x -> x.code).collect(Collectors.toList());
+    }
 }

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -305,6 +305,12 @@
                     #{status}
                 </foreach>
             </if>
+            <if test="vo.statusRedList!=null and vo.statusRedList.size()>0">
+                and s.status_red in
+                <foreach collection="vo.statusRedList" item="statusRed" open="(" close=")" separator=",">
+                    #{statusRed}
+                </foreach>
+            </if>
         </where>
         order by last_update_time desc
     </select>

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoQueryService.java

@@ -353,4 +353,10 @@ public interface SubInfoQueryService {
 	Page subFixGetAll(Page page, SubInfoQueryTzVO queryVO,List<String> indusKinds, List<String> subjectIds);
 
 	Page pageZkTwo(Page page, LoginUserVO loginUser, SubInfoQueryTzVO queryVO);
+
+	Map<String, Object> problemStatistics(LoginUserVO loginUser, SubInfoQueryTzVO queryVO);
+
+	Map<String, Object> queryStatusCount(LoginUserVO loginUser, SubInfoQueryTzVO subInfoQueryTzVO);
+
+	Map<String, Object> problemLightStatistics(LoginUserVO loginUser, SubInfoQueryTzVO queryVO);
 }

+ 147 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -1393,6 +1393,153 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         return page;
     }
 
+    /**
+     * 问题统计
+     */
+    @Override
+    public Map<String, Object> problemStatistics(LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
+        List<SubInfoGxj> list = queryAll(loginUser, queryVO);
+        return getStringObjectMap(list);
+    }
+
+    @Override
+    public Map<String, Object> queryStatusCount(LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
+        queryVO.setStatusRedList(RedLightEnum.getValidCodeList());
+        queryVO.setStatusList(SubInfoStatusEnum.getValidCodeList());
+        List<SubInfoGxj> list = queryAll(loginUser, queryVO);
+        Map<String, Long> collect = list.stream().collect(Collectors.groupingBy(SubInfoGxj::getStatus, Collectors.counting()));
+        return new HashMap<String, Object>(){{
+            put("cbNum", collect.getOrDefault(SubInfoStatusEnum.CB.getCode(), 0L));
+            put("xjNum", collect.getOrDefault(SubInfoStatusEnum.XJ.getCode(), 0L));
+            put("zjNum", collect.getOrDefault(SubInfoStatusEnum.ZJ.getCode(), 0L));
+            put("tcNum", collect.getOrDefault(SubInfoStatusEnum.TC.getCode(), 0L));
+        }};
+    }
+
+    @Override
+    public Map<String, Object> problemLightStatistics(LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
+        List<SubInfoGxj> list = queryAll(loginUser, queryVO);
+        Map<String, Long> collect = list.stream().collect(Collectors.groupingBy(SubInfoGxj::getStatusRed, Collectors.counting()));
+        return new HashMap<String, Object>(){{
+            put("redNum", collect.getOrDefault(RedLightEnum.RED.getCode(), 0L));
+            put("yellowNum", collect.getOrDefault(RedLightEnum.YELLOW.getCode(), 0L));
+            put("whiteNum", collect.getOrDefault(RedLightEnum.WHITE.getCode(), 0L));
+            put("totalNum", list.size());
+        }};
+    }
+
+    private Map<String, Object> getStringObjectMap(List<SubInfoGxj> list) {
+        Map<String, Object> resultMap = new HashMap<>();
+        if (com.rtrh.common.util.CollectionUtil.isNotEmpty(list)){
+            List<TSystable> jsddDict = tSysTableService.getByKind(SysTableKind.JSDD);
+            Map<String, String> jsddMap = jsddDict.stream().collect(Collectors.toMap(TSystable::getCode, TSystable::getTitle));
+            Map<String, String> hyflMap = subInduService.queryParentAll().stream().collect(Collectors.toMap(SubIndu::getCode, SubIndu::getTitle));
+            // 1.按属地分-------------
+            List<String> subjectCodes = new ArrayList<>();
+            List<Map<String, Object>> subjectList = list.stream()
+                    .collect(Collectors.groupingBy(SubInfoGxj::getSubjectId))
+                    .entrySet().stream()
+                    .map(e -> {
+                        subjectCodes.add(e.getKey());
+                        return new HashMap<String, Object>() {{
+                            put("code",e.getKey());
+                            put("title", jsddMap.getOrDefault(e.getKey(), e.getKey()));
+                            put("number", e.getValue().size());
+                        }};
+                    }).collect(Collectors.toList());
+            jsddMap.forEach((k, v) -> {
+                if (!subjectCodes.contains(k)){
+                    subjectList.add(new HashMap<String, Object>() {{
+                        put("code", k);
+                        put("title", v);
+                        put("number", 0);
+                    }});
+                }
+            });
+            resultMap.put("listSubject", subjectList);
+            // 2.按金额分----------- 定义分组边界
+            Map<String, BigDecimal> groupBoundaries = new LinkedHashMap<>();
+            groupBoundaries.put("10亿元以下", new BigDecimal("100000"));
+            groupBoundaries.put("10-50亿元", new BigDecimal("500000"));
+            groupBoundaries.put("50-100亿元", new BigDecimal("1000000"));
+            groupBoundaries.put("100亿元以上", new BigDecimal("100000000000"));
+
+            List<Map<String, Object>> defaultScaleList = groupBoundaries.keySet().stream()
+                    .map(entry -> new HashMap<String, Object>() {{
+                        put("code", entry);
+                        put("title", entry);
+                        put("number", 0);
+                    }})
+                    .collect(Collectors.toList());
+
+            List<Map<String, Object>> scaleList = list.stream()
+                    .collect(Collectors.groupingBy(transaction -> {
+                        for (Map.Entry<String, BigDecimal> entry : groupBoundaries.entrySet()) {
+                            if (transaction.getAmtTotal()!=null && transaction.getAmtTotal().compareTo(entry.getValue()) < 0) {
+                                return entry.getKey();
+                            }
+                        }
+                        return "未知分组"; // 超过最高范围的默认分组
+                    }))
+                    .entrySet().stream()
+                    .map(entry -> {
+                        return new HashMap<String, Object>() {{
+                            put("code", entry.getKey());
+                            put("title", entry.getKey());
+                            put("number", entry.getValue().size());
+                        }};
+                    })
+                    .collect(Collectors.toList());
+
+            for (Map<String, Object> defaultScale : defaultScaleList) {
+                String code = (String) defaultScale.get("code");
+                Optional<Map<String, Object>> found = scaleList.stream()
+                        .filter(scale -> scale.get("code").equals(code))
+                        .findFirst();
+
+                if (found.isPresent()) {
+                    // 如果找到了对应的组,使用实际的数量
+                    Map<String, Object> actualScale = found.get();
+                    defaultScale.put("number", actualScale.get("number"));
+                }
+            }
+            resultMap.put("listScale", defaultScaleList);
+            // 3.按行业分---------------
+            List<String> indusCodes = new ArrayList<>();
+            List<HashMap<String, Object>> indusKindList = list.stream()
+                    .collect(Collectors.groupingBy(transaction -> {
+                        String code = transaction.getIndusKind();
+                        // 确保code不为空且长度至少为2
+                        if (code == null || code.length() < 2) {
+                            return "未知行业";  // 默认未知行业
+                        }
+                        return code.substring(0, 2);
+                    }))
+                    .entrySet().stream()
+                    .map(entry ->{
+                                indusCodes.add(entry.getKey());
+                                return new HashMap<String, Object>() {{
+                                    put("code", entry.getKey());
+                                    put("title", hyflMap.getOrDefault(entry.getKey(), entry.getKey()));
+                                    put("number", entry.getValue().size());
+                                }};
+                            }
+                    )
+                    .collect(Collectors.toList());
+            hyflMap.forEach((k, v) -> {
+                if (!indusCodes.contains(k)){
+                    indusKindList.add(new HashMap<String, Object>() {{
+                        put("code", k);
+                        put("title", v);
+                        put("number", 0);
+                    }});
+                }
+            });
+            resultMap.put("listIndusKind", indusKindList);
+        }
+        return resultMap;
+    }
+
     @Override
     @TargetDataSource("secondary")
     public Page pageZk(Page page, LoginUserVO loginUserVO, SubInfoQueryTzVO queryTzVO) {

+ 2 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -139,7 +139,8 @@ public class SubInfoServiceImpl implements SubInfoService {
 
     @Autowired
     private SubManageService subManageService;
-
+    @Autowired
+    private SubInfoQueryService subInfoQueryService;
 
     @Autowired
     private SubMajorYearDao subMajorYearDao;

+ 3 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/PreWarnDataQueryVO.java

@@ -101,4 +101,7 @@ public class PreWarnDataQueryVO {
     @ApiModelProperty("code")
     private String code;
 
+    // 项目状态
+    private String status;
+
 }

+ 3 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/SubInfoQueryTzVO.java

@@ -7,6 +7,7 @@ import java.util.List;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 /**
  * 查询台账条件
@@ -15,6 +16,7 @@ import lombok.Setter;
  */
 @Setter
 @Getter
+@Accessors(chain = true)
 public class SubInfoQueryTzVO {
 
     /**
@@ -450,4 +452,5 @@ public class SubInfoQueryTzVO {
 
     // 红黄灯 '1',红灯 '2',黄灯 '0',绿灯 '3',白灯
     private String statusRed;
+    private List<String> statusRedList;
 }

+ 14 - 0
projects/src/main/java/com/rtrh/projects/web/controller/problemreport/ProblemInfoController.java

@@ -83,6 +83,20 @@ public class ProblemInfoController extends BaseController {
         return new ModelAndView("/vmodules/problem/info/preWarn.jsp", model);
     }
 
+    @GetMapping("/redLight")
+    public ModelAndView redLight(ModelMap model,String status,String subjectId, String indusKind, String scale,String lastUrl) {
+        model.put("HYFL", tSysTableService.getByKind(SysTableKind.HYFL));
+        model.put("XMLX", tSysTableService.getByKind(SysTableKind.XMLX));
+        model.put("JSXZ", tSysTableService.getByKind(SysTableKind.JSXZ));
+        model.put("status", status);
+        model.put("subjectId", subjectId);
+        model.put("indusKind", indusKind);
+        model.put("scale", scale);
+        model.put("lastUrl",lastUrl);
+
+        return new ModelAndView("/vmodules/problem/info/cbProblem.jsp", model);
+    }
+
     /**
      * 前期手续预期查询
      * @param model

+ 9 - 1
projects/src/main/java/com/rtrh/projects/web/controller/problemreport/api/ProblemInfoApiController.java

@@ -9,6 +9,8 @@ import com.rtrh.core.vo.Message;
 import com.rtrh.projects.modules.problem.service.Subquestioninfoservice;
 import com.rtrh.projects.modules.problem.vo.QuestionQueryVO;
 import com.rtrh.projects.modules.projects.enums.ProjectStatusEnum;
+import com.rtrh.projects.modules.projects.enums.RedLightEnum;
+import com.rtrh.projects.modules.projects.enums.SubInfoStatusEnum;
 import com.rtrh.projects.modules.projects.service.SubInfoQueryService;
 import com.rtrh.projects.modules.projects.service.SubInfoService;
 import com.rtrh.projects.modules.projects.service.SubPreNewService;
@@ -62,7 +64,13 @@ public class ProblemInfoApiController extends BaseController {
     public Message queryWarnData(@RequestBody Page page, @RequestBody PreWarnDataQueryVO queryVO) {
         Message message = new Message();
         try {
-            Map<String, Object> map = subInfoService.queryExceedNum();
+            // Map<String, Object> map = subInfoService.queryExceedNum();
+            // queryVO.setSubjectAuthIds(getSubjectIds());
+            // queryVO.setStatusList(SubInfoStatusEnum.getValidCodeList());
+            // queryVO.setStatusRedList(RedLightEnum.getValidCodeList());
+            SubInfoQueryTzVO subInfoQueryTzVO = new SubInfoQueryTzVO().setSubjectAuthIds(getSubjectIds());
+            Map<String, Object> map = subInfoQueryService.queryStatusCount(getCurUser().getLoginUser(),subInfoQueryTzVO);
+
             map.put("preNum",subInfoService.preProcedureExceedSize().size());
             // 上个月
             String lastMonth = DateUtil.format(DateUtil.offsetMonth(DateUtil.date(), -1), "yyyyMM");

+ 3 - 1
projects/src/main/java/com/rtrh/projects/web/controller/statics/AnalysisScreenController.java

@@ -98,7 +98,7 @@ public class AnalysisScreenController extends BaseController {
 	}
 
 	@GetMapping("subjectNew")
-	public ModelAndView subjectNew(ModelMap model,String status,String subjectId,String startAmt,String endAmt) {
+	public ModelAndView subjectNew(ModelMap model,String status,String subjectId,String startAmt,String endAmt,String statusRed,String indusKind) {
 		String kindUnit= getCurUser().getKindUnit();
 		boolean isHydw = false;
 		if(StringUtil.isNotEmpty(kindUnit)) {
@@ -114,6 +114,8 @@ public class AnalysisScreenController extends BaseController {
 		model.put("subjectId", subjectId);
 		model.put("startAmt", startAmt);
 		model.put("endAmt", endAmt);
+		model.put("statusRed", statusRed);
+		model.put("indusKind", indusKind);
 
 		return new ModelAndView("/vmodules/statics/layer/projInfo_new.jsp");
 	}

+ 32 - 0
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoQueryApiController.java

@@ -9,6 +9,7 @@ import com.rtrh.common.util.StringUtil;
 import com.rtrh.projects.modules.projects.dao.SubCompletedPicDao;
 import com.rtrh.projects.modules.projects.dao.SubSourceDao;
 import com.rtrh.projects.modules.projects.dto.SubFixCbSearch;
+import com.rtrh.projects.modules.projects.enums.RedLightEnum;
 import com.rtrh.projects.modules.projects.enums.SubInfoCbStatusEnum;
 import com.rtrh.projects.modules.projects.enums.SubInfoStatusEnum;
 import com.rtrh.projects.modules.projects.po.SubCompletedPic;
@@ -283,6 +284,37 @@ public class SubInfoQueryApiController extends BaseController {
         return message;
     }
 
+    @PostMapping("/problemStatistics")
+    public Message problemStatistics(@RequestBody SubInfoQueryTzVO queryVO) {
+        queryVO.setSubjectAuthIds(getSubjectIds());
+        Message message = new Message();
+        try {
+            queryVO.setStatusList(SubInfoStatusEnum.getValidCodeList());
+            queryVO.setStatusRedList(RedLightEnum.getValidCodeList());
+            Map<String, Object> map = subInfoQueryService.problemStatistics(getCurUser().getLoginUser(), queryVO);
+            message.setData(map);
+        } catch (Exception e) {
+            logger.error("", e);
+            message.add("查询失败");
+        }
+        return message;
+    }
+
+    @PostMapping("/problemLightStatistics")
+    public Message problemLightStatistics(@RequestBody SubInfoQueryTzVO queryVO) {
+        queryVO.setSubjectAuthIds(getSubjectIds());
+        Message message = new Message();
+        try {
+            queryVO.setStatusList(SubInfoStatusEnum.getValidCodeList());
+            queryVO.setStatusRedList(RedLightEnum.getValidCodeList());
+            Map<String, Object> map = subInfoQueryService.problemLightStatistics(getCurUser().getLoginUser(), queryVO);
+            message.setData(map);
+        } catch (Exception e) {
+            logger.error("", e);
+            message.add("查询失败");
+        }
+        return message;
+    }
 
     // 获取重点项目-储备库列表数据
     @PostMapping("subFixCbAll")

+ 930 - 0
projects/src/main/webapp/vmodules/problem/info/cbProblem.jsp

@@ -0,0 +1,930 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+         pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<!DOCTYPE html>
+<html>
+<head>
+    <jsp:include page="../../common/common-meta-include.jsp"></jsp:include>
+    <jsp:include page="../../common/common-js-include.jsp"></jsp:include>
+    <jsp:include page="../../common/common-css-include.jsp"></jsp:include>
+    <!--[if lt IE 9]>
+    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
+    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <style type="text/css">
+        /*.table_box .table_process .layui-table-cell {*/
+        /*    height: 75px;*/
+        /*}*/
+        .layui-table-view .layui-table td > div>span,
+        .layui-table-view .layui-table td > div{
+            /*min-height: 85px !important;*/
+            /*white-space: normal;*/
+            line-height: 22px !important;
+            display: -webkit-box; /* 使用旧版的弹性盒子布局 */
+            -webkit-box-orient: vertical; /* 设置为垂直方向排列 */
+            overflow: hidden; /* 隐藏溢出内容 */
+            text-overflow: ellipsis; /* 使用省略号表示溢出内容 */
+            -webkit-line-clamp: 2; /* 显示的行数 */
+        }
+        .table_box .table_process .layui-table-cell {
+            height: 65px;
+        }
+        .layui-table-col-special .layui-table-cell{
+            display:flex;
+            justify-content:space-between;
+        }
+        .queryTimeType{
+            margin-top: -4px;
+            position: absolute;
+        }
+        .hiddenParam {
+            display: none;
+        }
+        .morePan{
+            margin-top: 9px;
+            position: absolute;
+        }
+        .morePan a{
+            color: #2C6EC6;
+        }
+
+        .table_box .table_process{
+            height: fit-content;
+            max-height: 60vh;
+            overflow-x: scroll;
+            overflow-y: scroll;
+        }
+
+        .layui-table-body .layui-table-cell{
+            padding: 5px !important;
+        }
+        .layui-table-header .layui-table-cell{
+            height: 42px !important;
+        }
+    </style>
+</head>
+<body>
+<div id="app"></div>
+<template id="template">
+    <div class="layui-layout layui-layout-admin pd0">
+
+        <div class="right_title">
+
+            <div class="txt">前期手续办理超期 <div class="top-breadcrumb"></div></div>
+            <div class="layui-collapse search_form">
+                <div class="layui-colla-item">
+                    <div class="layui-colla-content layui-show">
+                        <form class="layui-form" lay-filter="searchForm">
+
+
+
+                            <div class="layui-row">
+
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">项目名称</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="subName" placeholder="请输入" autocomplete="off" class="layui-input">
+                                            <input type="hidden" name="subjectId"    value="${subjectId}">
+                                            <input type="hidden" name="mainId" value="${mainId }">
+                                            <input type="hidden" name="sourceId" value="${sourceId }">
+                                            <input type="hidden" name="hyfl" value="${hyfl }">
+                                            <input type="hidden" name="code" value="${code}">
+                                            <input type="hidden" name="status" value="${status}">
+                                            <input type="hidden" name="subjectId" value="${subjectId}">
+                                            <input type="hidden" name="indusKind" value="${indusKind}">
+                                            <input type="hidden" name="scale" value="${scale}">
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">
+                                    <div class="layui-form-item" style="height:28px;">
+                                        <label class="layui-form-label">问题类型</label>
+                                        <div class="layui-input-block">
+                                            <select id="lightType" name="lightType">
+                                                <option value="">所有</option>
+                                                <option value="1">未办理红灯</option>
+                                                <option value="2">未办理黄灯</option>
+                                                <option value="3">超期办理</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">
+                                    <div class="layui-form-item" style="height:28px;">
+                                        <label class="layui-form-label">建设性质</label>
+                                        <div class="layui-input-block">
+                                            <div id="propKind" name="propKind"></div>
+                                        </div>
+                                    </div>
+                                </div>
+<%--                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">--%>
+<%--                                    <div class="layui-form-item" style="height:28px;">--%>
+<%--                                        <label class="layui-form-label">所属行业</label>--%>
+<%--                                        <div class="layui-input-block">--%>
+<%--                                            <div id="indusKind" name="hyfl"></div>--%>
+<%--                                        </div>--%>
+<%--                                    </div>--%>
+<%--                                </div>--%>
+                            </div>
+                            <div class="layui-row">
+
+                                <div class="layui-col-xs12 layui-col-sm12 layui-col-md3">
+                                    <button type="button" class="layui-btn layui-btn-normal" @click="search">查询</button>
+<%--                                    <span class="layui-btn layui-btn-normal" style="position:relative;z-index:9" @click="backHis()">--%>
+<%--                                        返回--%>
+<%--                                    </span>--%>
+                                    <!-- <button type="button" class="layui-btn layui-btn-export" @click="exportExcel">导出</button> -->
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+
+        <div>
+            <div class="layui-row class_ls">
+                <div class="layui-form-item" style="display: flex">
+                    <label class="juli">
+                        问题总数<span class="lanse-first">{{numData.total}}个</span>
+                        <div class="progress-div">
+                            <div class="layui-progress">
+                                <div class="layui-progress-bar"></div>
+                            </div>
+                        </div>
+                    </label>
+                    <label class="juli">
+                        红灯数量<span class="lanse-first">{{numData.redNum}}个</span>
+                        <div class="progress-div">
+                            <div class="layui-progress">
+                                <div class="layui-progress-bar" :style="'width:'+numData.redRate"></div>
+                            </div>
+                        </div>
+                    </label>
+                    <label class="juli">
+                        黄灯数量<span class="lanse-first">{{numData.yellowNum}}</span>
+                        <div class="progress-div">
+                            <div class="layui-progress">
+                                <div class="layui-progress-bar" :style="'width:'+numData.yellowRate"></div>
+                            </div>
+                        </div>
+                    </label>
+                    <label class="juli">
+                        白灯数量<span class="lanse-first">{{numData.cqNum}}</span>
+                        <div class="progress-div">
+                            <div class="layui-progress">
+                                <div class="layui-progress-bar" :style="'width:'+numData.cqNumRate"></div>
+                            </div>
+                        </div>
+                    </label>
+                </div>
+            </div>
+        </div>
+        <div>
+
+        </div>
+        <div class="table_box" style="padding-top: 0;">
+            <div class="table_process">
+                <table id="table1" lay-filter="test"></table>
+            </div>
+            <div  class="pagination-box"  id="pagination"></div>
+        </div>
+        <div style="height: 20px;"></div>
+    </div>
+</template>
+
+
+<div id="problem" class="layuimini-main" style="display: none;">
+    <form class="layui-form" lay-filter="problemForm">
+        <div class="layui-row">
+            <div class="layui-col-xs12 layui-col-sm12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">状态:</label>
+                    <div class="layui-input-block">
+                        <input type="radio" name="statusF" value="2" title="红灯" checked="checked"/>
+                        <input type="radio" name="statusF" value="1" title="黄灯"/>
+                        <input type="radio" name="statusF" value="0" title="绿灯"/>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-row">
+            <div class="layui-col-xs12 layui-col-sm12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">问题描述:</label>
+                    <div class="layui-input-block">
+                        <textarea name="status_reason" maxlength="400" style="height: 300px;width: 80%;" id="problemReason" autocomplete="off" class="layui-textarea"></textarea>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="layui-row">
+            <div class="layui-col-xs12 layui-col-sm12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label">要求解决日期:</label>
+                    <div class="layui-input-block "  style="width: 25%">
+                        <input type="text" id="dateConfirm" name="dateConfirm"  autocomplete="off" class="layui-input" >
+                    </div>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+
+
+
+<script type="text/html" id="subName">
+    <span title="{{d.subName}}">{{d.subName}}</span>
+</script>
+<script type="text/html" id="amt">
+    {{# var computedPer = function(total, now){
+    return (total == 0) ? 0 : parseInt(now * 100 / total +0.5);
+    };
+    }}
+    <span title="">总投资:{{d.amtTotal}}万元 <br/>
+		年度计划投资:{{d.yearPlanAmt}}万元 <br/>
+					年度完成投资:{{d.yearEndAmt}}万元( {{computedPer(d.yearPlanAmt, d.yearEndAmt)}} %)</span>
+</script>
+<script type="text/html" id="date">
+    <div title="">
+        <div class="line">计划开工:{{d.beginDate}}
+
+        </div>
+        <div class="line">计划竣工:{{d.endDate}}
+
+        </div>
+    </div>
+</script>
+<script type="text/html" id="abcSpan">
+    <span style="font-size:28px;font-weigh:500 !important;">{{d.abc||''}}</span>
+</script>
+<script type="text/html" id="toolBar">
+    <div class="toolBar">
+        <%--<span title="项目信息" lay-event="toDetail">项目信息</span>--%>
+        <span title="短信" lay-event="toMsgLog">短信</span>
+        <span title="短信发送" lay-event="sendMsg">短信发送</span>
+        <%--    <c:if test="${isHydw}">--%>
+        <%--      <span title="问题督办" lay-event="problem">&nbsp;问题督办</span>--%>
+        <%--    </c:if>--%>
+        <%--    {{# if(d.unitId == "${currUnitId}") { }}--%>
+        <%--    <span title="原因录入" lay-event="setSubReason">&nbsp;原因录入</span>--%>
+        <%--    {{#}}}--%>
+
+        <%--    {{# if("${currUser.edit}" == 'true'||( d.propKind == '3' && "${currUser.id}" == d.create_user_id )) { }}--%>
+        <%--    <span title="信息修改" lay-event="toEditSubInfo">&nbsp;信息修改</span>--%>
+        <%--    {{#} }}--%>
+
+        <%--    {{# if("${currUser.edit}" == 'true') { }}--%>
+        <%--    {{# if(d.status != '0' && d.status != '6' && d.status != '7' && d.status != '8' && d.status != '9' && d.status != 'A') { }}--%>
+        <%--    <span title="退回暂存" lay-event="toTh">&nbsp;退回暂存</span>--%>
+        <%--    {{#}}}--%>
+        <%--    {{#} }}--%>
+        <%--    <span title="手续办理" lay-event="preNew">&nbsp;手续办理</span>--%>
+        <%--    <c:if test="${admin}">--%>
+        <%--      {{# if(d.isHide == "1") { }}--%>
+        <%--      <span title="取消在建库"  lay-event="isNoHide">&nbsp;取消在建库</span>--%>
+        <%--      {{#} else { }}--%>
+        <%--      <span title="移入在建库"  lay-event="isHide">&nbsp;移入在建库</span>--%>
+        <%--      {{#} }}--%>
+        <%--    </c:if>--%>
+
+    </div>
+</script>
+
+
+<script type="text/html" id="preInfo">
+
+
+
+    <span title="">
+		{{# if(d.xmbaIs == '' || d.xmbaIs == null ) { }}
+			项目备案:未办理 <br/>
+		{{#} else if(d.xmbaIs == '2' ) { }}
+			项目备案:无需办理 <br/>
+
+		{{#} else { }}
+
+			{{# if(d.xmbaStatus == '' || d.xmbaStatus == null ) { }}
+							项目备案:未办理 <br/>
+			{{#} else if(d.xmbaStatus == '0') { }}
+						项目备案:未办理 <br/>
+			{{#} else if(d.xmbaStatus == '1') { }}
+						项目备案:开始办理 <br/>
+			{{#} else if(d.xmbaStatus == '2') { }}
+						项目备案:已办理 <br/>
+			{{#} }}
+
+		{{#} }}
+
+
+
+
+		{{# if(d.yjbgIs == '' || d.yjbgIs == null ) { }}
+			可行性研究报告:未办理 <br/>
+		{{#} else if(d.yjbgIs == '2' ) { }}
+			可行性研究报告:无需办理 <br/>
+		{{#} else { }}
+			{{# if(d.yjbgStatus == '' || d.yjbgStatus == null ) { }}
+							可行性研究报告:未办理 <br/>
+			{{#} else if(d.yjbgStatus == '0') { }}
+						可行性研究报告:未办理 <br/>
+			{{#} else if(d.yjbgStatus == '1') { }}
+						可行性研究报告:开始办理 <br/>
+			{{#} else if(d.yjbgStatus == '2') { }}
+						可行性研究报告:已办理 <br/>
+			{{#} }}
+
+		{{#} }}
+
+		</span>
+
+</script>
+
+<script type="text/html" id="imageDiv">
+    <div style="width:50px;height:50px" onclick="showImage(this)">
+        {{# if(d.fileId != null && d.fileId != '') { }}
+        <img src="${domain}/static/file/{{d.fileId}}/showfile" realUrl="${domain}/static/file/{{d.fileId}}/showfile" width="50px" height="50px"/>
+        {{#} }}
+    </div>
+</script>
+
+
+
+<script type="text/html" id="offsetLight">
+    {{#if(d.offset >= -30 && d.offset <= -10 ) { }}
+    <span style="color: yellow"><image   class="light-rgb"     src="${WebSite.asset}/css/images/bigScreen/light-yellow.png"></image></span>
+    {{#} else if(d.offset < -30) { }}
+    <span style="color: red"><image   class="light-rgb"     src="${WebSite.asset}/css/images/bigScreen/light-red.png"></image></span>
+    {{#}}}
+</script>
+
+
+<script type="text/html" id="dayNum">
+    {{d.num2}}
+</script>
+
+
+
+<script type="text/html" id="openLight">
+
+
+    {{# var computedPer1 = function(beginDate){
+
+    var beginDate =new Date(beginDate);
+    var beginDate7 =new Date(beginDate);
+    var beginDate3 =new Date(beginDate);
+    beginDate7.setDate(beginDate7.getDate()-7);
+    beginDate3.setDate(beginDate3.getDate()-3);
+
+    var newDate =  new Date();
+    if(newDate.getTime() >=beginDate7.getTime()  && newDate.getTime() <=beginDate3.getTime()){
+    return "yellow";
+    }else if(newDate.getTime() >=beginDate3.getTime() && newDate.getTime()  <=  beginDate.getTime()  ){
+    return "red";
+    }else{
+    return "-";
+    }
+    };
+    }}
+
+    {{#if(computedPer1(d.beginDate)=="yellow" ) { }}
+    <span style="color: yellow">  <image   class="light-rgb"     src="${WebSite.asset}/css/images/bigScreen/light-yellow.png"></image></span>
+    {{#} else if(computedPer1(d.beginDate)=="red") { }}
+    <span style="color: red" >   <image   class="light-rgb"     src="${WebSite.asset}/css/images/bigScreen/light-red.png"></image></span>
+    {{#}}}
+</script>
+
+<%--<script type="text/html" id="num2">--%>
+<%--    &lt;%&ndash;	{{(d.num1 + d.num2)/2}}&ndash;%&gt;--%>
+<%--    {{d.num2}}--%>
+<%--</script>--%>
+<script type="text/html" id="num4">
+    <div style="display: flex;justify-content: center">
+        {{#if( (d.num3!=null && d.num3!= '') || d.num3 == 0 ) { }}
+        {{#if( d.num2 - d.num3 >=0 ) { }}
+        <span style="color: green">{{d.num2 - d.num3}}</span>
+        {{#} else if(d.num2 - d.num3 < 0 ) { }}
+        <span style="color: red">{{d.num2 - d.num3}}</span>
+        {{#} else { }}
+        <span>{{d.num2 - d.num3}}</span>
+        {{#}}}
+        {{#} else { }}
+        <span></span>
+        {{#}}}
+    </div>
+</script>
+<script type="text/html" id="num3">
+
+    {{#if( (d.num3!=null && d.num3!= '') || d.num3 == 0 ) { }}
+    {{#if( d.num3  >= d.num2+1 &&  d.num3 <= d.num2+3 ) { }}
+    <span style="color: #EAC100">{{d.num3}}</span>
+    {{#} else if(d.num3 > d.num2+3 ) { }}
+    <span style="color: red">{{d.num3}}</span>
+    {{#} else { }}
+    <span>{{d.num3}}</span>
+    {{#}}}
+    {{#} else { }}
+    <span></span>
+    {{#}}}
+</script>
+<script>
+    new Vue({
+        el: "#app",
+        template: "#template",
+        data: {
+            winH: 0,
+            dataList : [],
+            startDate:"",
+            endDate:"",
+            LightType:"1",
+            tableName : 'test',
+            pageNo : 1,
+            indusKind : {},
+            propKind : {},
+            kind: {},
+            numData:{
+                totalNum:0,
+                redNum:0,
+                yellowNum:0,
+                whiteNum:0,
+                cqNum:0,
+            },
+            beginRate: {},
+            showMoreFlag: false,
+            light: null,
+            sort: {field: "amtTotal", type:""},
+            pageSize : 10
+        },
+        mounted : function() {
+            this.init()
+        },
+        methods: {
+            init : function() {
+                this.winH = document.body.clientHeight
+                layui.laydate.render({
+                    elem: '#startTime',
+                    theme: layDateTheme,
+                    range: '~'
+                });
+                if("${type}"=== "1" ){
+                    this.lightType="1";
+                }else{
+                    this.lightType="2";
+                }
+
+                var seleDatas = [], jsxz = [], xmlx = [];
+<%--                <c:forEach items="${HYFL }" var="hy">--%>
+<%--                seleDatas.push({value:'${hy.id}',name:'${hy.title}'});--%>
+<%--                </c:forEach>--%>
+<%--                this.indusKind = layui.xmSelect.render({--%>
+<%--                    el:'#indusKind',--%>
+<%--                    language:'zn',--%>
+<%--                    data: seleDatas--%>
+<%--                });--%>
+                <c:forEach items="${JSXZ}" var="js">
+                jsxz.push({value: '${js.code}', name:'${js.title}'});
+                </c:forEach>
+                this.propKind = layui.xmSelect.render({
+                    el:'#propKind',
+                    language:'zn',
+                    data: jsxz
+                });
+<%--                <c:forEach items="${XMLX}" var="xm">--%>
+<%--                xmlx.push({value: '${xm.code}', name: '${xm.title}'});--%>
+<%--                </c:forEach>--%>
+<%--                this.kind = layui.xmSelect.render({--%>
+<%--                    el: "#kind",--%>
+<%--                    language:'zn',--%>
+<%--                    data:xmlx--%>
+<%--                });--%>
+
+
+                console.log("${subjectId}");
+                console.log("${mainId}");
+                console.log("${sourceId}");
+                console.log("${hyfl}");
+                this.getData();
+                window.addEventListener('message', this.receiveMessage, false);
+                window.parent.postMessage('init loaded')
+                window.toDetail = this.toDetail;
+                window.showImage = this.showImage;
+            },
+            sendMsg: function (obj) {
+                var content = "【市发改委】哈密市发改委提醒:您监管/负责的【" + obj.data.subName + "】项目," +
+                    obj.data.preName + "手续办理已逾期,请及时关注并处理!";
+                top.layer.open({
+                    title: "短信内容",
+                    type: 2,
+                    area: ["600px", "400px"],
+                    content: App.getUrl("/msgLog/sendMsg?layer=true&content=" + content + "&subId=" + obj.data.subId + "&kind=手续超期&item=" + obj.data.preName),
+                    /*              btn: ["发送", "取消"],*/
+                    yes: function () {
+                        /*              App.msg.confirm("确认发送逾期短信到该项目负责人?", function () {
+                                          App.postJson("/api/msgLog/sendDueMsg", {
+                                              subId: obj.data.subId,
+                                              kind: "手续超期"
+                                          }, function (res) {
+                                              App.msg.success("发送成功");
+                                          })
+                                      })*/
+                        top.layer.closeAll();
+                    }, close: function (index) {
+                        top.layer.close(index);
+                    }
+                })
+            },
+            showImage: function(that) {
+                var imageUrl = $(that).find("img").eq(0).attr("realUrl");
+                if(imageUrl) {
+                    layer.open({
+                        type: 2,
+                        content: imageUrl,
+                        area: ['500px', '1000px'],
+                        offset: 'auto',
+                        success: function(obj,index){
+                            layer.full(index);
+                        }
+                    })
+                }
+            },
+            setQueryForm2: function() {
+                $("#searchForm").find(".layui-form-item").parent()
+                    .removeClass("layui-col-xs3").removeClass("layui-col-sm3").removeClass("layui-col-md3")
+                    .addClass("layui-col-xs5").addClass("layui-col-sm5").addClass("layui-col-md5");
+            },
+            setQueryForm4: function() {
+                $("#searchForm").find(".layui-form-item").parent()
+                    .removeClass("layui-col-xs5").removeClass("layui-col-sm5").removeClass("layui-col-md5")
+                    .addClass("layui-col-xs3").addClass("layui-col-sm3").addClass("layui-col-md3");
+            },
+            showMore: function() {
+                var self = this;
+                layer.open({
+                    title: "查询条件",
+                    type: 1,
+                    area: ['90%','700px'],
+                    content: $("#searchForm"),
+                    btn: ["查询"],
+                    yes: function(index) {
+                        self.search();
+                        layer.close(index);
+                    },
+                    success: function() {
+                        self.setQueryForm2();
+                        $(".hiddenParam").show();
+                    },
+                    end: function() {
+                        self.setQueryForm4();
+                        $(".hiddenParam").hide();
+                    }
+                })
+            },
+            getSearchParams: function() {
+                var param = layui.form.getValue("searchForm");
+
+                console.log("param");
+                console.log(param);
+                if(param.rangeDate) {
+                    param.beginDate = param.rangeDate.split(" ~ ")[0];
+                    param.endDate = param.rangeDate.split(" ~ ")[1];
+                    param.rangeDate = null;
+                }
+                if(this.light) {
+                    param.light = this.light.getValue("valueStr");
+                }
+                delete(param.select);
+                param.propKind = this.propKind.getValue("value").sort().join(",");
+                return param;
+            },
+            getData : function(){
+                var self = this;
+                var param = this.getSearchParams();
+
+                console.log(param);
+
+                param.pageNo = this.pageNo;
+                param.pageSize = this.pageSize;
+                param.orderBy = this.sort.field;
+                param.orderType = this.sort.type || null;
+
+
+                if (self.lightType=="1"){
+                    param.openDate=true;
+                }else{
+                    param.offsetMax=-10;
+                }
+
+
+
+                App.postJson("/api/subInfo/query/queryPage",param, function(res){
+                    console.log(res.data)
+                    self.numData = res.data;
+                });
+
+                App.postJson("/api/subInfo/query/queryPage",param, function(res){
+                    self.dataList = res.rows;
+                    self.loadPage(res.total);
+                    self.loadTable();
+                });
+
+            },
+            loadTable : function(){
+                for(var i=0;i<this.dataList.length;i++){
+                    var tem = this.dataList[i];
+                    switch(tem.status){
+                        case '0':
+                            tem.statusName = '暂存';
+                            break;
+                        case '1':
+                            tem.statusName = '项目前期';
+                            break;
+                        case '6':
+                            tem.statusName = '待开工';
+                            break;
+                        case '7':
+                            tem.statusName = '施工中';
+                            break;
+                        /* case '9':
+                            tem.statusName = '年度竣工';
+                            break; */
+                        case '8':
+                            tem.statusName = '暂停施工';
+                            break;
+                        case 'A':
+                            tem.statusName = '已竣工';
+                            break;
+                    }
+                }
+                var self = this;
+                layui.table.render({
+                    elem: '#table1', // 指定原始表格元素选择器(推荐id选择器)
+                    even: true,
+                    autoSort: false,
+                    initSort: self.sort,
+                    cols: [[ // 设置表头
+                        {type: 'numbers', fixed: 'left', align: 'center',title:'序号'},
+                        // {field: 'abc', title: 'ABC',fixed: 'left', width: 70, templet: "#abcSpan"},
+                        {field: 'subName', fixed: 'left', title: '项目名称', minWidth: 300, templet: '#subName'},
+                        {field: 'preName', title: '手续名称', minWidth: 150},
+                        {field: 'unitDesc', title: '批复单位名称', minWidth: 150},
+                        {field: 'nameLead', title: '办理人(批复单位)', width: 80},
+                        {field: 'tel', title: '电话(批复单位)', width: 100},
+                        {field: 'datePlan', title: '开办日期', minWidth: 80},
+                        {field: 'num1', title: '计划办理天数', width: 100, templet: '#dayNum'},
+                        {field: 'num3', title: '实际办理天数', width: 100, templet: '#num3'},
+                        {field: 'num4', title: '节约天数', width: 100, templet: '#num4'},
+                        {title: '操作', width: 150, align:'center', toolbar: '#toolBar',fixed:'right'},
+                    ]],
+                    fixed: true,
+                    height: window.screen.availHeight-430,
+                    data : self.dataList,
+                    done: function(res, curr, count){
+                        //获取当前时间
+                        var date=new Date();
+                        res.data.forEach(function(item, index) {
+                            // /1.当前行的背景颜色cur_color
+
+                            var planDate=new Date(item.datePlan);
+
+                            console.log(planDate);
+
+                            if (item.statusConf  ==  '2' ) {
+                                if (item.num3>item.num2+3){
+                                    $('.layui-table').find('tr[data-index="' + index + '"]').find("td").css('color', "red");
+                                }else{
+                                    $('.layui-table').find('tr[data-index="' + index + '"]').find("td").css('color', "#EAC100");
+                                }
+                            }else{
+                                if (self.daysBetween(planDate,date)>3+item.num2){
+                                    $('.layui-table').find('tr[data-index="' + index + '"]').find("td").css('color', "red");
+                                }else{
+                                    $('.layui-table').find('tr[data-index="' + index + '"]').find("td").css('color', "#EAC100");
+                                }
+                            }
+                            $(".layui-table-body  tr").resize(function () {
+                                $(".layui-table-body  tr").each(function (index, val) {
+                                    $($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
+                                });
+                            });
+                            //初始化高度,使得冻结行表体高度一致
+                            $(".layui-table-body  tr").each(function (index, val) {
+                                $($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
+                            });
+                        });
+
+
+
+                    }
+                });
+                layui.table.on('tool('+this.tableName+')', function(obj){
+                    var event = obj.event;
+                    self[event].call(this, obj);
+                });
+                layui.table.on('sort('+this.tableName+')', function(obj) {
+                    self.sort = obj;
+                    self.getData();
+                    return;
+                })
+            },
+            daysBetween: function (date1, date2) {
+
+                const timeDiff = Math.abs(date2.getTime() - date1.getTime());
+                return Math.ceil(timeDiff / (1000 * 3600 * 24));
+            },
+            isNoHide:function (obj){
+                var self=this;
+                console.log(obj);
+                App.msg.confirm("是否移除在建库?",function() {
+                    App.postJson("/api/subject/subInfo/setBackIsHide", {subId: obj.data.id}, function (res) {
+                        if (res.success) {
+                            App.msg.success("设置成功");
+                            self.getData();
+                            layer.close(index);
+                        }
+                    });
+                });
+            },
+            isHide:function (obj){
+                var self=this;
+                console.log(obj);
+                App.msg.confirm("是否移入重点项目库?",function() {
+                    App.postJson("/api/subject/subInfo/setIsHide", {subId: obj.data.id}, function (res) {
+                        if (res.success) {
+                            App.msg.success("设置成功");
+                            self.getData();
+                            layer.close(index);
+                        }
+                    });
+                });
+            },
+            loadPage : function(totalCount){
+                var self = this;
+                layui.laypage.render({
+                    elem: 'pagination',
+                    count: totalCount,
+                    curr : self.pageNo,
+                    limit : self.pageSize,
+                    layout: ['count', 'prev', 'page', 'next', 'skip'],
+                    jump: function(obj, first) {
+                        //首次不执行
+                        if(!first) {
+                            self.pageNo = obj.curr;
+                            self.getData();
+                        }
+                    }
+                });
+            },
+            yearPlan: function(obj) {
+                window.location.href=App.getUrl("amtPlan/detail?subId="+obj.data.id);
+            },
+            setSubReason: function(obj) {
+                var self = this;
+                layui.form.val("reasonForm", obj.data);
+                layer.open({
+                    type: 1,
+                    title: "项目原因录入",
+                    content: $("#setReason"),
+                    area: ['880px', '560px'],
+                    btn: ["保存", "取消"],
+                    yes: function(index) {
+                        var reason = layui.form.val("reasonForm");
+                        reason.subId = obj.data.id;
+                        App.postJson("/api/subject/subInfo/setSubReason",reason, function(res){
+                            if(res.success){
+                                App.msg.success("设置成功");
+                                self.getData();
+                                layer.close(index);
+                            }
+                        });
+                    },
+                    close: function(index) {
+                        layer.close(index);
+                    }
+                })
+            },
+            problem: function(obj) {
+                var self = this;
+                obj.data.status_reason="";
+                layui.form.val("problemForm", obj.data);
+                layer.open({
+                    type: 1,
+                    title: "问题督办",
+                    content: $("#problem"),
+                    area: ['800px', '600px'],
+                    btn: ["保存", "取消"],
+                    yes: function(index) {
+                        var reason = layui.form.val("problemForm");
+                        reason.subId = obj.data.id;
+
+                        if (reason.statusF=="2"||reason.statusF=="1"){
+                            if (reason.status_reason==""||reason.status_reason==undefined){
+                                layer.msg("红灯,黄灯必须输入原因");
+                                return ;
+                            }
+                        }
+                        App.postJson("/api/subject/subInfo/setStatus",{subId:obj.data.id,statusFgw:reason.statusF,reason:reason.status_reason,dateConfirm:reason.dateConfirm}, function(res){
+                            if(res.success){
+                                App.msg.success("设置成功");
+                                self.getData();
+                                layer.close(index);
+                            }
+                        });
+                    },
+                    close: function(index) {
+                        layer.close(index);
+                    }
+                })
+            },
+            exportExcel: function(){
+                var param = this.getSearchParams();
+                App.common.utils.downFile(App.getUrl("subInfoExport/exportSummaryExcel"),"POST", param,"项目情况表.xlsx", "导出失败");
+            },
+            exportExcelByIndusKind: function(){
+                var param = this.getSearchParams();
+                App.common.utils.downFile(App.getUrl("subInfoExport/exportExcelByIndusKind"),"POST", param,"项目情况表(按所属行业统计).xlsx", "导出失败");
+            },
+            exportSchedulingExcel: function(){
+                var param = this.getSearchParams();
+                App.common.utils.downFile(App.getUrl("subInfoExport/exportSchedulingExcel"),"POST", param,"项目调度表.xlsx", "导出失败");
+            },
+            /* exportExcel2: function(){
+                var param = this.getSearchParams();
+                 App.common.utils.downFile(App.getUrl("subInfoExport/exportExcelTz"),"POST", param,"项目详情信息表.xlsx", "导出失败");
+            }, */
+            exportMoreExcel: function() {
+                top.window.getSearchParams = this.getSearchParams;
+                App.openLayer({
+                    title : "自定义导出",
+                    content : App.getUrl("/subInfoExport/index"),
+                    height : "600",
+                    width : "800"
+                })
+            },
+            toMsgLog: function (obj) {
+
+                App.openLayer({
+                    title: "短信",
+                    content: App.getUrl("/msgLog/kindDetail?subId=" + obj.data.subId+"&kind=手续超期"),
+                    height: "600",
+                    width: "800"
+                })
+
+            },
+            toDetail : function(obj){
+                //详情
+                var index = layer.open({
+                    type: 2,
+                    area: ['1000px', '800px'],
+                    content: App.getUrl("/subject/subInfo/detailView?layer=true&subId="+ obj.data.subId + "&lastUrl=" + window.location.href),
+                });
+                layui.layer.full(index);
+            },
+            print: function(obj){
+                window.open(App.getUrl("/subject/apply/downPdf?subId="+obj.data.id));
+            },
+            toEditSubInfo: function(obj){
+                window.location.href=App.getUrl("/subject/subInfo/editSubInfo?subId="+obj.data.id);
+            },
+            preNew: function (obj){
+                window.location.href=App.getUrl("/subPreNew/todo?subId=" + obj.data.id);
+            },
+            backHis: function (){
+                // if() {
+                // window.history.back(-1);
+                <%--}else {--%>
+                <%--  window.location.href="";--%>
+                <%--}--%>
+                window.location.href = "${lastUrl}";
+            },
+            toTh: function(obj){
+                if(obj.data.statusJh == null || obj.data.statusJh == '0' || obj.data.statusJh == '1') {
+                    App.msg.confirm("是否需要退回到暂存状态?", function(){
+                        App.postJson("/api/subject/subInfo/toTemp",{subId : obj.data.id,status:"0"}, function(res){
+                            if(res.success){
+                                layer.msg("成功",{icon:6,time:1000});
+                                //
+                                window.location.href=App.getUrl("subject/subInfo/projTz");
+                            }
+                        });
+                    })
+                } else {
+                    App.msg.warn("已做过开工申报,需要走变更流程");
+                }
+            },
+            search : function(){
+                this.pageNo = 1;
+                this.getData();
+            },
+            receiveMessage (e) {
+                console.log('cb receiveMessage: ', e.data)
+                if (e.data.topBreadcrumb) {
+                    $(".top-breadcrumb").html(e.data.topBreadcrumb)
+                }
+            }
+        }
+    });
+</script>
+</body>
+</html>

+ 68 - 28
projects/src/main/webapp/vmodules/problem/info/preInfo.jsp

@@ -30,16 +30,20 @@
         <!-- 内容区域 -->
         <div class="right_title">
             <div class="tab-group">
-                <button class="btn btn1" :class="{active: tabActive === 1}" @click="onChangeActive(1)">储备库超期
-                    <span class="button-card new-roman" @click="ct('','','','','1','')">{{cbToXjNum}}</span></button>
+                <button class="btn btn1" :class="{active: tabActive === 1}" @click="onChangeActive(1,'1')">储备库
+<%--                    <span class="button-card new-roman" @click="ct('','','','','1','')">{{cbToXjNum}}</span></button>--%>
+                    <span class="button-card new-roman" @click="tabNumClick('1')">{{cbToXjNum}}</span></button>
 <%--                <button class="btn btn1" :class="{active: tabActive === 2}" @click="onChangeActive(2)">前期手续办理超期--%>
 <%--                    <span class="button-card" @click="ct('','','','','2','')">{{preNum}}</span></button>--%>
-                <button class="btn btn1" :class="{active: tabActive === 3}" @click="onChangeActive(3)">新建库超期
-                    <span class="button-card new-roman" @click="ct('','','','','3','')">{{xjToZjNum}}</span></button>
-                <button class="btn btn1" :class="{active: tabActive === 4}" @click="onChangeActive(4)">在建库超期
-                    <span class="button-card new-roman" @click="ct('','','','','4','')">{{zjToTcNum}}</span></button>
-                <button class="btn btn1" :class="{active: tabActive === 5}" @click="onChangeActive(5)">投产库超期
-                    <span class="button-card new-roman" @click="ct('','','','','5','')">{{tcToRgNum}}</span></button>
+                <button class="btn btn1" :class="{active: tabActive === 3}" @click="onChangeActive(3,'2')">新建库
+<%--                    <span class="button-card new-roman" @click="ct('','','','','3','')">{{xjToZjNum}}</span></button>--%>
+                    <span class="button-card new-roman" @click="tabNumClick('2')">{{xjToZjNum}}</span></button>
+                <button class="btn btn1" :class="{active: tabActive === 4}" @click="onChangeActive(4,'3')">在建库
+<%--                    <span class="button-card new-roman" @click="ct('','','','','4','')">{{zjToTcNum}}</span></button>--%>
+                    <span class="button-card new-roman" @click="tabNumClick('3')">{{zjToTcNum}}</span></button>
+                <button class="btn btn1" :class="{active: tabActive === 5}" @click="onChangeActive(5,'9')">投产库
+<%--                    <span class="button-card new-roman" @click="ct('','','','','5','')">{{tcToRgNum}}</span></button>--%>
+                    <span class="button-card new-roman" @click="tabNumClick('9')">{{tcToRgNum}}</span></button>
                 <button class="btn btn2" :class="{active: tabActive === 6}" @click="onChangeActive(6)">项目月报超期
                     <span class="button-card new-roman" @click="ct('','','','','6','')">{{monthlyNum}}</span></button>
                 <%--                <button class="btn btn2" :class="{active: tabActive === 3}" @click="onChangeActive(3)">项目开工超期--%>
@@ -104,7 +108,8 @@
                     <div class="tab-syatic center-syayic">
                         <div class="bar-number-row">
                             <div class="row-item" v-for="(itemFund,index) in quyuList" :key="index"
-                                 @dblclick="ct(itemFund.code,'','','','','')">
+<%--                                 @dblclick="ct(itemFund.code,'','','','','')">--%>
+                                @dblclick="itemClick(itemFund.code,'','')">
                                 <div class="row-item-static">
                                     <span class="font-weight new-roman">{{itemFund.number}}</span>
                                     <span class="danwei">个</span>
@@ -159,7 +164,8 @@
                     <div class="tab-syatic">
                         <div class="bar-number-row" v-for="(item,index) in hangyeList" :key="index">
                             <div class="row-item" v-for="(itemFund,indexFund) in item" :key="indexFund"
-                                 @dblclick="ct('','','',itemFund.code,'','')">
+<%--                                 @dblclick="ct('','','',itemFund.code,'','')">--%>
+                                 @dblclick="itemClick('',itemFund.code,'')">
                                 <div class="row-item-static">
                                     <span class="font-weight new-roman">{{itemFund.number}}</span>
                                     <span class="danwei">个</span>
@@ -189,7 +195,8 @@
                     <div class="tab-syatic">
                         <div class="bar-number-row" v-for="(item,index) in guimoList" :key="index">
                             <div class="row-item" v-for="(itemFund,indexFund) in item" :key="indexFund"
-                                 @dblclick="ct('','','','','',itemFund.code)">
+<%--                                 @dblclick="ct('','','','','',itemFund.code)">--%>
+                                 @dblclick="itemClick('','',itemFund.code)">
                                 <div class="row-item-static">
                                     <span class="font-weight new-roman">{{itemFund.number}}</span>
                                     <span class="danwei">个</span>
@@ -342,6 +349,27 @@
             window.showImage = this.showImage;
         },
         methods: {
+            tabNumClick(status){
+                let url = "/problem/info/redLight?status=" + status + "&lastUrl=" + window.location.href;
+                window.location.href = App.getUrl(url);
+            },
+            itemClick(subjectId,indusKind,scale){
+                // ct: function (subjectId, sourceId, mainId, hyfl, index,code) {
+                let index = this.tabActive;
+                const tabParam = {
+                    1: { status: "1" },
+                    2: { status: "2" },
+                    3: { status: "3" },
+                    4: { status: "9" },
+                };
+                const param = tabParam[index] || tabParam[1];
+                let url = "/problem/info/redLight?status=" + param.status
+                    + "&subjectId=" + subjectId
+                    + "&indusKind=" + indusKind
+                    + "&scale=" + scale
+                    + "&lastUrl=" + window.location.href;
+                window.location.href = App.getUrl(url);
+            },
             init: function () {
                 this.winH = document.body.clientHeight;
 
@@ -354,7 +382,7 @@
                 })
                 // window.showImage = this.showImage;
                 this.loadData();
-                this.onChangeActive(1);
+                this.onChangeActive(1,'1');
                 this.fixedFunc();
             },
             loadTable: function (data) {
@@ -390,15 +418,22 @@
                     })
                 }
             },
+            // tab 数字
             loadData() {
                 var self = this;
                 App.postJson("/api/problemInfo/queryWarnData", {}, function (res) {
                     if (res.success) {
-                        self.cbToXjNum = res.data.cbToXjNum || 0;
+                        // self.cbToXjNum = res.data.cbToXjNum || 0;
+                        // self.xjToZjNum = res.data.xjToZjNum || 0;
+                        // self.zjToTcNum = res.data.zjToTcNum || 0;
+                        // self.tcToRgNum = res.data.tcToRgNum || 0;
+                        self.cbToXjNum = res.data.cbNum || 0;
+                        self.xjToZjNum = res.data.xjNum || 0;
+                        self.zjToTcNum = res.data.zjNum || 0;
+                        self.tcToRgNum = res.data.tcNum || 0;
+
+
                         self.preNum = res.data.preNum || 0;
-                        self.xjToZjNum = res.data.xjToZjNum || 0;
-                        self.zjToTcNum = res.data.zjToTcNum || 0;
-                        self.tcToRgNum = res.data.tcToRgNum || 0;
                         self.monthlyNum = res.data.monthlyNum || 0;
 
                         // self.preWarnNum = res.data.preWarnNum || 0;
@@ -504,24 +539,29 @@
                     window.location = this.navLs[index].url
                 }
             },
-            onChangeActive(index, e) {
+            onChangeActive(index, status) {
                 var subId = $("#subId").val();
                 this.tabActive = index
                 this.chooseNum = 0;
                 var self = this;
 
-                const tabConfig = {
-                    1: { url: "/api/problemInfo/preData/cbToXjExceed", tabName: "储备转新建超期" },
-                    2: { url: "/api/problemInfo/preData/preProcedureExceed", tabName: "前期手续办理情况信息填报" },
-                    3: { url: "/api/problemInfo/preData/xjToZjExceed", tabName: "新建转在建超期" },
-                    4: { url: "/api/problemInfo/preData/zjTotcExceed", tabName: "在建转投产超期" },
-                    5: { url: "/api/problemInfo/preData/tcToRgExceed", tabName: "投产转入规超期" },
-                    6: { url: "/api/problemInfo/preData/monthlyExceed", tabName: "月报超期" }
-                    // 6: { url: "/api/problemInfo/preData/getMonthWarn", tabName: "月报超期" }
-                };
-                const config = tabConfig[index] || tabConfig[1];
+                // const tabConfig = {
+                //     1: { url: "/api/problemInfo/preData/cbToXjExceed", tabName: "储备转新建超期" },
+                //     2: { url: "/api/problemInfo/preData/preProcedureExceed", tabName: "前期手续办理情况信息填报" },
+                //     3: { url: "/api/problemInfo/preData/xjToZjExceed", tabName: "新建转在建超期" },
+                //     4: { url: "/api/problemInfo/preData/zjTotcExceed", tabName: "在建转投产超期" },
+                //     5: { url: "/api/problemInfo/preData/tcToRgExceed", tabName: "投产转入规超期" },
+                //     6: { url: "/api/problemInfo/preData/monthlyExceed", tabName: "月报超期" }
+                //     // 6: { url: "/api/problemInfo/preData/getMonthWarn", tabName: "月报超期" }
+                // };
+                // const config = tabConfig[index] || tabConfig[1];
+                let url = "/api/subInfo/query/problemStatistics";
+                if (index === 6){
+                    url = "/api/problemInfo/preData/monthlyExceed";
+                }
 
-                App.postJson(config.url, {subjectId: self.quyuListTab[self.chooseNum].number || ''}, function (res) {
+                App.postJson(url, {status: status}, function (res) {
+                // App.postJson(config.url, {subjectId: self.quyuListTab[self.chooseNum].number || ''}, function (res) {
                     var date = new Date();
                     // var year = date.getFullYear();
                     // var month = date.getMonth() + 1;

+ 44 - 45
projects/src/main/webapp/vmodules/statics/analysisScreen_four.jsp

@@ -88,7 +88,7 @@
                         <img src="${WebSite.asset}/images/static/left1.png" class="img" alt="">
                     </div>
                     <div class="left-content-bottom">
-                        <div class="left-content-bottom-data" onclick="projDetailNew(1,'','','')">
+                        <div class="left-content-bottom-data" onclick="projDetailNew(1,'','','','','')">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/ico.png" alt="">
                                 <p>储备</p>
@@ -108,7 +108,7 @@
                                 <img class="data-img" src="${WebSite.asset}/images/static/left-img2.png" alt="">
                             </div>
                         </div>
-                        <div class="left-content-bottom-data" onclick="projDetailNew(2,'','','')">
+                        <div class="left-content-bottom-data" onclick="projDetailNew(2,'','','','','')">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/ico.png" alt="">
                                 <p>新建</p>
@@ -128,7 +128,7 @@
                                 <img class="data-img" src="${WebSite.asset}/images/static/left-img2.png" alt="">
                             </div>
                         </div>
-                        <div class="left-content-bottom-data" onclick="projDetailNew(3,'','','')">
+                        <div class="left-content-bottom-data" onclick="projDetailNew(3,'','','','','')">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/ico.png" alt="">
                                 <p>在建</p>
@@ -148,7 +148,7 @@
                                 <img class="data-img" src="${WebSite.asset}/images/static/left-img2.png" alt="">
                             </div>
                         </div>
-                        <div class="left-content-bottom-data" onclick="projDetailNew(9,'','','')">
+                        <div class="left-content-bottom-data" onclick="projDetailNew(9,'','','','','')">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/ico.png" alt="">
                                 <p>投产</p>
@@ -188,13 +188,13 @@
                 </div>
 
                 <div class="main-center-bottom">
-                    <div class="main-detail-container" onclick="projDetailNew('','2','','')">
+                    <div class="main-detail-container">
                         <div class="main-detail-top">
                             <p>伊州区</p>
                             <img src="${WebSite.asset}/images/static/main-img1.png" alt="">
                         </div>
                         <div class="main-detail-bottom">
-                            <div class="main-detail-bottom-top">
+                            <div class="main-detail-bottom-top" onclick="projDetailNew('','2','','','','')">
                                 <p class="data" id="center-center-data1">121</p>
                                 <p class="data-des">项目数(个)</p>
                             </div>
@@ -203,7 +203,7 @@
                                 <p class="data" id="center-center-data2">7238</p>
                                 <p class="data-des">总投资(亿元)</p>
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','2','','','1','')">
                                 <div class="left">
                                     <span id="center-center-light-data1">63</span>
                                     <span>个</span>
@@ -214,7 +214,7 @@
                                 </div>
                                 <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','2','','','2','')">
                                 <div class="left">
                                     <span id="center-center-light-data2">63</span>
                                     <span>个</span>
@@ -228,13 +228,13 @@
                             <img class="bgc-img" src="${WebSite.asset}/images/static/main-img2.png" alt="">
                         </div>
                     </div>
-                    <div class="main-detail-container" onclick="projDetailNew('','3','','')">
+                    <div class="main-detail-container">
                         <div class="main-detail-top">
                             <p>巴里坤县</p>
                             <img src="${WebSite.asset}/images/static/main-img1.png" alt="">
                         </div>
                         <div class="main-detail-bottom">
-                            <div class="main-detail-bottom-top">
+                            <div class="main-detail-bottom-top" onclick="projDetailNew('','3','','','','')">
                                 <p class="data" id="center-center-data3">87</p>
                                 <p class="data-des">项目数(个)</p>
                             </div>
@@ -243,7 +243,7 @@
                                 <p class="data" id="center-center-data4">7238</p>
                                 <p class="data-des">总投资(亿元)</p>
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','3','','','1','')">
                                 <div class="left">
                                     <span id="center-center-light-data3">63</span>
                                     <span>个</span>
@@ -254,7 +254,7 @@
                                 </div>
                                 <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','3','','','2','')">
                                 <div class="left">
                                     <span id="center-center-light-data4">63</span>
                                     <span>个</span>
@@ -268,13 +268,13 @@
                             <img class="bgc-img" src="${WebSite.asset}/images/static/main-img2.png" alt="">
                         </div>
                     </div>
-                    <div class="main-detail-container" onclick="projDetailNew('','4','','')">
+                    <div class="main-detail-container">
                         <div class="main-detail-top">
                             <p>伊吾县</p>
                             <img src="${WebSite.asset}/images/static/main-img1.png" alt="">
                         </div>
                         <div class="main-detail-bottom">
-                            <div class="main-detail-bottom-top">
+                            <div class="main-detail-bottom-top" onclick="projDetailNew('','4','','','','')">
                                 <p class="data" id="center-center-data5">133</p>
                                 <p class="data-des">项目数(个)</p>
                             </div>
@@ -283,7 +283,7 @@
                                 <p class="data" id="center-center-data6">345</p>
                                 <p class="data-des">总投资(亿元)</p>
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','4','','','1','')">
                                 <div class="left">
                                     <span id="center-center-light-data5">63</span>
                                     <span>个</span>
@@ -294,7 +294,7 @@
                                 </div>
                                 <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom" onclick="projDetailNew('','4','','','2','')">
                                 <div class="left">
                                     <span id="center-center-light-data6">63</span>
                                     <span>个</span>
@@ -308,13 +308,13 @@
                             <img class="bgc-img" src="${WebSite.asset}/images/static/main-img2.png" alt="">
                         </div>
                     </div>
-                    <div class="main-detail-container" onclick="projDetailNew('','5','','')">
+                    <div class="main-detail-container">
                         <div class="main-detail-top">
                             <p>高新区</p>
                             <img src="${WebSite.asset}/images/static/main-img1.png" alt="">
                         </div>
                         <div class="main-detail-bottom">
-                            <div class="main-detail-bottom-top">
+                            <div class="main-detail-bottom-top" onclick="projDetailNew('','5','','','','')">
                                 <p class="data" id="center-center-data7">76</p>
                                 <p class="data-des">项目数(个)</p>
                             </div>
@@ -323,7 +323,7 @@
                                 <p class="data" id="center-center-data8">727</p>
                                 <p class="data-des">总投资(亿元)</p>
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom"  onclick="projDetailNew('','5','','','1','')">
                                 <div class="left">
                                     <span id="center-center-light-data7">63</span>
                                     <span>个</span>
@@ -334,7 +334,7 @@
                                 </div>
                                 <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                             </div>
-                            <div class="main-detail-bottom-bottom">
+                            <div class="main-detail-bottom-bottom"  onclick="projDetailNew('','5','','','2','')">
                                 <div class="left">
                                     <span id="center-center-light-data8">63</span>
                                     <span>个</span>
@@ -363,7 +363,7 @@
                     <img src="${WebSite.asset}/images/static/right-img2.png" alt="">
                 </div>
                 <div class="main-right-bottom">
-                    <div class="right-content-bottom" onclick="projDetailNew('','','100','');">
+                    <div class="right-content-bottom" onclick="projDetailNew('','','100','','','');">
                         <div class="right-content-bottom-data">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/1.png" alt="">
@@ -383,7 +383,7 @@
                             </div>
                         </div>
                     </div>
-                    <div class="right-content-bottom" onclick="projDetailNew('','','50','100');">
+                    <div class="right-content-bottom" onclick="projDetailNew('','','50','100','','');">
                         <div class="right-content-bottom-data">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/1.png" alt="">
@@ -403,7 +403,7 @@
                             </div>
                         </div>
                     </div>
-                    <div class="right-content-bottom" onclick="projDetailNew('','','10','50');">
+                    <div class="right-content-bottom" onclick="projDetailNew('','','10','50','','');">
                         <div class="right-content-bottom-data">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/1.png" alt="">
@@ -423,7 +423,7 @@
                             </div>
                         </div>
                     </div>
-                    <div class="right-content-bottom" onclick="projDetailNew('','','0','10');">
+                    <div class="right-content-bottom" onclick="projDetailNew('','','0','10','','');">
                         <div class="right-content-bottom-data">
                             <div class="data-left">
                                 <img src="${WebSite.asset}/images/static/1.png" alt="">
@@ -452,7 +452,7 @@
             <div class="flooter-bottom">
                 <div class="flooter-bottom-item">
                     <div class="title">储备项目库</div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(1,'','','','1','')">
                         <div class="left">
                             <span id="bottom-light-data1">123</span>
                             <span>个</span>
@@ -463,7 +463,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(1,'','','','2','')">
                         <div class="left">
                             <span id="bottom-light-data2">123</span>
                             <span>个</span>
@@ -474,7 +474,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-yellow-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(1,'','','','0','')">
                         <div class="left">
                             <span id="bottom-light-data3">123</span>
                             <span>个</span>
@@ -491,7 +491,7 @@
                 </div>
                 <div class="flooter-bottom-item">
                     <div class="title">新建项目库</div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(2,'','','','1','')">
                         <div class="left">
                             <span id="bottom-light-data4">123</span>
                             <span>个</span>
@@ -502,7 +502,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(2,'','','','2','')">
                         <div class="left">
                             <span id="bottom-light-data5">123</span>
                             <span>个</span>
@@ -513,7 +513,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-yellow-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(2,'','','','0','')">
                         <div class="left">
                             <span id="bottom-light-data6">123</span>
                             <span>个</span>
@@ -530,7 +530,7 @@
                 </div>
                 <div class="flooter-bottom-item">
                     <div class="title">在建项目库</div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(3,'','','','1','')">
                         <div class="left">
                             <span id="bottom-light-data7">123</span>
                             <span>个</span>
@@ -541,7 +541,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(3,'','','','2','')">
                         <div class="left">
                             <span id="bottom-light-data8">123</span>
                             <span>个</span>
@@ -552,7 +552,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-yellow-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(3,'','','','0','')">
                         <div class="left">
                             <span id="bottom-light-data9">123</span>
                             <span>个</span>
@@ -569,7 +569,7 @@
                 </div>
                 <div class="flooter-bottom-item">
                     <div class="title">投产项目库</div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(4,'','','','1','')">
                         <div class="left">
                             <span id="bottom-light-data10">123</span>
                             <span>个</span>
@@ -580,7 +580,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-red-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(4,'','','','2','')">
                         <div class="left">
                             <span id="bottom-light-data11">123</span>
                             <span>个</span>
@@ -591,7 +591,7 @@
                         </div>
                         <img class="bottom-img" src="${WebSite.asset}/images/static/main-yellow-bgc.png" alt="">
                     </div>
-                    <div class="main-detail-bottom-bottom">
+                    <div class="main-detail-bottom-bottom" onclick="projDetailNew(4,'','','','0','')">
                         <div class="left">
                             <span id="bottom-light-data12">123</span>
                             <span>个</span>
@@ -618,17 +618,14 @@
     var stockRate=0;  //入规率
     var hyData=[]// 行业数据
 
-    function projDetailNew(status,subjectId,startAmt,endAmt) {
-        // if (this.c) {
-        //     return;
-        // }
-        // var projTz = "/subject/subInfo/projTz?type=3&boolScreen=1"
-
+    function projDetailNew(status,subjectId,startAmt,endAmt,statusRed,indusKind) {
         var projTz = "/statics/subjectNew"
             + "?status=" + status
             + "&subjectId=" + subjectId
             + "&startAmt=" + startAmt
             + "&endAmt=" + endAmt
+            + "&statusRed=" + statusRed
+            + "&indusKind=" + indusKind
         var flag = !screenfull.isFullscreen;
         var opt = {
             title: "项目台账",
@@ -722,13 +719,12 @@
         }, function(res) {
             // 绑定数据到页面
             if (res.success) {
-                console.log('res.data: ', res.data)
                 hyData = res.data.map(item => ({
                     value: item.zb, // 使用 amt 作为 value
-                    name: item.title
+                    name: item.title,
+                    id: item.id,
                         // + (item.id ? '_' + item.id : ''), // 使用 title 作为 name
                 }));
-
                 initHy();
             }
         });
@@ -1078,6 +1074,9 @@
         };
         console.log('option: ', option);
         myChart5.setOption(option);
+        myChart5.on("click", function (params) {
+            projDetailNew("", "", "", "", "", params.data.id ? params.data.id : "UNKNOWN_INDUS_KIND");
+        })
         // 监听窗口大小变化,动态调整图表大小
         window.addEventListener('resize', function() {
             myChart5.resize();

+ 3 - 1
projects/src/main/webapp/vmodules/statics/layer/projInfo_new.jsp

@@ -191,6 +191,7 @@
                             <input name="abc" type="hidden" value="${abc}"/>
                             <input name="isCb" type="hidden" value="${isCb}"/>
                             <input name="status" type="hidden" value="${status}"/>
+                            <input name="statusRed" type="hidden" value="${statusRed}"/>
                         </form>
                     </div>
                 </div>
@@ -299,6 +300,7 @@
             getData: function () {
                 var self = this;
                 var param = this.getSearchParams();
+                param.statusList = ["1", "2", "3", "9"];
                 App.postJson("/api/subInfo/query/queryPage", param, function (res) {
                     self.dataList = res.rows;
 
@@ -308,7 +310,7 @@
             },
             exportExcel: function () {
                 var param = this.getSearchParams();
-
+                param.statusList = ["1", "2", "3", "9"];
                 var url = App.getUrl("/subInfoExport/exportDetailExcel");
                 console.log(url);
                 App.common.utils.downFile(url, "POST", param, "项目台账.xlsx", "导出失败");

+ 1 - 10
projects/src/main/webapp/vmodules/subject/subInfo/tz/cb.jsp

@@ -160,18 +160,9 @@
                                 </div>
                                 <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
                                     <div class="layui-form-item">
-<%--                                        <label class="layui-form-label required label-longers">红黄灯</label>--%>
-<%--                                        <div class="layui-input-block">--%>
-<%--                                            <select name="statusRed">--%>
-<%--                                                <option value="">请选择</option>--%>
-<%--                                                <c:forEach items="${statusRedList }" var="l">--%>
-<%--                                                    <option value="${l.code }">${l.name }</option>--%>
-<%--                                                </c:forEach>--%>
-<%--                                            </select>--%>
-<%--                                        </div>--%>
                                         <div class="layui-inline">
                                             <label class="layui-form-label" style="width: 100px;">红黄灯:</label>
-                                            <div class="layui-input-block">
+                                            <div class="layui-input-block" style="width: auto">
                                                 <input type="radio" name="statusRed" value="" title="所有" checked  />
                                                 <c:forEach var="item" items="${statusRedList}">
                                                     <input type="radio" name="statusRed" value="${item.code}" title="${item.name}"/>

+ 14 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/end.jsp

@@ -186,7 +186,20 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="layui-col-xs3 layui-col-sm3 layui-col-md3 hiddenParam">
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
+                                    <div class="layui-form-item">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 100px;">红黄灯:</label>
+                                            <div class="layui-input-block" style="width: auto">
+                                                <input type="radio" name="statusRed" value="" title="所有" checked  />
+                                                <c:forEach var="item" items="${statusRedList}">
+                                                    <input type="radio" name="statusRed" value="${item.code}" title="${item.name}"/>
+                                                </c:forEach>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
                                     <div class="layui-form-item">
                                         <label class="layui-form-label required label-longers" style="width: 100px;">项目总投资(亿元)</label>
                                         <div class="layui-input-block time_box">

+ 14 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/main.jsp

@@ -148,7 +148,20 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="layui-col-xs3 layui-col-sm3 layui-col-md3 hiddenParam">
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
+                                    <div class="layui-form-item">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 100px;">红黄灯:</label>
+                                            <div class="layui-input-block" style="width: auto">
+                                                <input type="radio" name="statusRed" value="" title="所有" checked  />
+                                                <c:forEach var="item" items="${statusRedList}">
+                                                    <input type="radio" name="statusRed" value="${item.code}" title="${item.name}"/>
+                                                </c:forEach>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
                                     <div class="layui-form-item">
                                         <label class="layui-form-label required label-longers" style="width: 100px;">项目总投资(亿元)</label>
                                         <div class="layui-input-block time_box">

+ 14 - 2
projects/src/main/webapp/vmodules/subject/subInfo/tz/new.jsp

@@ -159,8 +159,20 @@
                                         </div>
                                     </div>
                                 </div>
-
-                                <div class="layui-col-xs3 layui-col-sm3 layui-col-md3 hiddenParam">
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
+                                    <div class="layui-form-item">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 100px;">红黄灯:</label>
+                                            <div class="layui-input-block" style="width: auto">
+                                                <input type="radio" name="statusRed" value="" title="所有" checked  />
+                                                <c:forEach var="item" items="${statusRedList}">
+                                                    <input type="radio" name="statusRed" value="${item.code}" title="${item.name}"/>
+                                                </c:forEach>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
                                     <div class="layui-form-item">
                                         <label class="layui-form-label required label-longers" style="width: 100px;">项目总投资(亿元)</label>
                                         <div class="layui-input-block time_box">

+ 14 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/xmzk.jsp

@@ -159,7 +159,20 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="layui-col-xs3 layui-col-sm3 layui-col-md3 hiddenParam">
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
+                                    <div class="layui-form-item">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 100px;">红黄灯:</label>
+                                            <div class="layui-input-block" style="width: auto">
+                                                <input type="radio" name="statusRed" value="" title="所有" checked  />
+                                                <c:forEach var="item" items="${statusRedList}">
+                                                    <input type="radio" name="statusRed" value="${item.code}" title="${item.name}"/>
+                                                </c:forEach>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md6 hiddenParam">
                                     <div class="layui-form-item">
                                         <label class="layui-form-label required label-longers" style="width: 100px;">项目总投资(亿元)</label>
                                         <div class="layui-input-block time_box">