|
@@ -0,0 +1,899 @@
|
|
|
+<%@ 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">
|
|
|
+
|
|
|
+ <div class="right_title">
|
|
|
+
|
|
|
+ <div class="layui-collapse">
|
|
|
+ <div class="layui-colla-item">
|
|
|
+ <span class="txt">储备转新建超期</span>
|
|
|
+ <%-- <h2 class="layui-colla-title">筛选</h2>--%>
|
|
|
+ <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}">
|
|
|
+ </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>
|
|
|
+ </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">
|
|
|
+ <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>
|
|
|
+ </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"> 问题督办</span>--%>
|
|
|
+ <%-- </c:if>--%>
|
|
|
+ <%-- {{# if(d.unitId == "${currUnitId}") { }}--%>
|
|
|
+ <%-- <span title="原因录入" lay-event="setSubReason"> 原因录入</span>--%>
|
|
|
+ <%-- {{#}}}--%>
|
|
|
+
|
|
|
+ <%-- {{# if("${currUser.edit}" == 'true'||( d.propKind == '3' && "${currUser.id}" == d.create_user_id )) { }}--%>
|
|
|
+ <%-- <span title="信息修改" lay-event="toEditSubInfo"> 信息修改</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"> 退回暂存</span>--%>
|
|
|
+ <%-- {{#}}}--%>
|
|
|
+ <%-- {{#} }}--%>
|
|
|
+ <%-- <span title="手续办理" lay-event="preNew"> 手续办理</span>--%>
|
|
|
+ <%-- <c:if test="${admin}">--%>
|
|
|
+ <%-- {{# if(d.isHide == "1") { }}--%>
|
|
|
+ <%-- <span title="取消在建库" lay-event="isNoHide"> 取消在建库</span>--%>
|
|
|
+ <%-- {{#} else { }}--%>
|
|
|
+ <%-- <span title="移入在建库" lay-event="isHide"> 移入在建库</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">--%>
|
|
|
+<%-- <%– {{(d.num1 + d.num2)/2}}–%>--%>
|
|
|
+<%-- {{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:"",
|
|
|
+ tableName : 'test',
|
|
|
+ pageNo : 1,
|
|
|
+ indusKind : {},
|
|
|
+ propKind : {},
|
|
|
+ kind: {},
|
|
|
+ numData:{
|
|
|
+ redNum:0,
|
|
|
+ yellowNum: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.toDetail = this.toDetail;
|
|
|
+ window.showImage = this.showImage;
|
|
|
+ },
|
|
|
+ sendMsg: function(obj) {
|
|
|
+ var content = "【市发改委】哈密市发改委提醒:您监管/负责的("+obj.data.subName+")项目,"+
|
|
|
+ obj.data.preName+"手续办理已逾期,请及时关注并处理!!";
|
|
|
+ layer.open({
|
|
|
+ title: "短信内容",
|
|
|
+ type: 1,
|
|
|
+ area: ["400px","200px"],
|
|
|
+ content: content,
|
|
|
+ btn: ["发送"],
|
|
|
+ yes: function() {
|
|
|
+ App.msg.success("发送成功");
|
|
|
+ layer.closeAll();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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/problemInfo/pageQueryCbToXjDataRedYellow",param, function(res){
|
|
|
+
|
|
|
+ console.log(res.data)
|
|
|
+
|
|
|
+ self.numData = res.data;
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ App.postJson("/api/problemInfo/pageQueryCbToXjData",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: 'subName', fixed: 'left', title: '项目名称', minWidth: 300, templet: '#subName'},
|
|
|
+ {field: 'beginDate', title: '计划新建时间', width: 100},
|
|
|
+ {field: 'endDate', title: '计划完成时间', minWidth: 80},
|
|
|
+ {field: 'unitTitle', title: '项目单位', width: 200},
|
|
|
+ {field: 'mainTitle', title: '监管单位', width: 80},
|
|
|
+ {field: 'datePlan', title: '联系人与电话', minWidth: 200,templet: '#info'},
|
|
|
+ {title: '操作', width: 200, align:'center', toolbar: '#toolBar'},
|
|
|
+ ]],
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+</script>
|
|
|
+</body>
|
|
|
+</html>
|