|
@@ -0,0 +1,368 @@
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+<%@ include file="/webpage/include/taglib.jsp"%>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <title>项目登记</title>
|
|
|
+ <meta name="decorator" content="default"/>
|
|
|
+ <link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
|
|
|
+ <%--<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>--%>
|
|
|
+ <style>
|
|
|
+ .layui-table th{
|
|
|
+ font-size: 14px;
|
|
|
+ /*表头内容居中显示*/
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .pid{
|
|
|
+ font-size:14px;
|
|
|
+ font-weight:400;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+ <script type="text/javascript">
|
|
|
+ $(document).ready(function() {
|
|
|
+
|
|
|
+ //搜索框收放
|
|
|
+ $('#moresee').click(function(){
|
|
|
+ if($('#moresees').is(':visible'))
|
|
|
+ {
|
|
|
+ $('#moresees').slideUp(0,resizeListWindow2);
|
|
|
+ $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
|
|
|
+ }else{
|
|
|
+ $('#moresees').slideDown(0,resizeListWindow2);
|
|
|
+ $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ laydate.render({
|
|
|
+ elem: '#beginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
|
|
|
+ event: 'focus', //响应事件。如果没有传入event,则按照默认的click
|
|
|
+ type : 'date'
|
|
|
+ });
|
|
|
+ laydate.render({
|
|
|
+ elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
|
|
|
+ event: 'focus', //响应事件。如果没有传入event,则按照默认的click
|
|
|
+ type : 'date'
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ function reset() {
|
|
|
+ $("#searchForm").resetForm();
|
|
|
+ }
|
|
|
+
|
|
|
+ function openDialog(title,url,width,height,target) {
|
|
|
+
|
|
|
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
|
|
|
+ width = 'auto';
|
|
|
+ height = 'auto';
|
|
|
+ } else {//如果是PC端,根据用户设置的width和height显示。
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ top.layer.open({
|
|
|
+ type: 2,
|
|
|
+ area: [width, height],
|
|
|
+ title: title,
|
|
|
+ maxmin: true, //开启最大化最小化按钮
|
|
|
+ content: url,
|
|
|
+ skin: 'three-btns',
|
|
|
+ btn: ['送审', '暂存', '关闭'],
|
|
|
+ /*yes: function (index, layero) {
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if (target) {
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ } else {
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target", top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+
|
|
|
+ if (iframeWin.contentWindow.doSubmit()) {
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function () {
|
|
|
+ top.layer.close(index)
|
|
|
+ }, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }
|
|
|
+
|
|
|
+ },*/
|
|
|
+ btn1: function(index, layero){
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if(target){
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ }else{
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ if(iframeWin.contentWindow.doSubmit(1) ){
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }
|
|
|
+ },
|
|
|
+ btn2:function(index,layero){
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if(target){
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ }else{
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ if(iframeWin.contentWindow.doSubmit(2) ){
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ btn3: function (index) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function openDialogre(title,url,width,height,target,buttons) {
|
|
|
+
|
|
|
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
|
|
|
+ width = 'auto';
|
|
|
+ height = 'auto';
|
|
|
+ } else {//如果是PC端,根据用户设置的width和height显示。
|
|
|
+
|
|
|
+ }
|
|
|
+ var split = buttons.split(",");
|
|
|
+ top.layer.open({
|
|
|
+ type: 2,
|
|
|
+ area: [width, height],
|
|
|
+ title: title,
|
|
|
+ maxmin: true, //开启最大化最小化按钮
|
|
|
+ skin: 'three-btns',
|
|
|
+ content: url,
|
|
|
+ btn: split,
|
|
|
+ btn1: function(index, layero){
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if(target){
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ }else{
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ if(iframeWin.contentWindow.doSubmit(1) ){
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }
|
|
|
+ },
|
|
|
+ btn2:function(index,layero){
|
|
|
+ if(split.length==2){return}
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if(target){
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ }else{
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ if(iframeWin.contentWindow.doSubmit(2) ){
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ btn3: function (index) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+ <style>
|
|
|
+ body{
|
|
|
+ background-color:transparent;
|
|
|
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
|
|
|
+ color:#ffffff;
|
|
|
+ background-color:rgba(255,255,255,0);
|
|
|
+ height:100%;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+<div class="wrapper wrapper-content">
|
|
|
+ <sys:message content="${message}"/>
|
|
|
+ <div class="layui-row">
|
|
|
+ <div class="full-width fl">
|
|
|
+ <div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
|
|
|
+ <ul class="list-tabs" >
|
|
|
+ <li><a href="${ctx}/project/designSummarizing/list">工程进度款汇总表</a></li>
|
|
|
+ <li><a href="${ctx}/project/designSummarizing/list">设计变更汇总表</a></li>
|
|
|
+ <li><a href="${ctx}/project/visaSummarizing/list">现场签证汇总表</a></li>
|
|
|
+ <li><a href="${ctx}/project/claimSummarizing/list">索赔汇总表</a></li>
|
|
|
+ <li class="active"><a href="${ctx}/project/distributionSummarizing/list">分布结算汇总表</a></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <div class="layui-row contentShadow shadowLR" id="queryDiv">
|
|
|
+ <form:form id="searchForm" modelAttribute="projectRecords" action="${ctx}/project/designSummarizing/" method="post" class="form-inline">
|
|
|
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
|
|
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
|
|
+ <table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
|
|
|
+ <div class="commonQuery lw6">
|
|
|
+ <div class="layui-item query athird">
|
|
|
+ <label class="layui-form-label">项目名称:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="projectName" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item query athird ">
|
|
|
+ <label class="layui-form-label">项目负责人:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="leaderNameStr" htmlEscape="false" maxlength="255" class=" form-control layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item athird">
|
|
|
+ <div class="input-group">
|
|
|
+ <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
|
|
|
+ <button id="searchReset" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
|
|
|
+ <button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style=" clear:both;"></div>
|
|
|
+ </div>
|
|
|
+ <div id="moresees" style="clear:both;display:none;" class="lw6">
|
|
|
+ <div class="layui-item query athird ">
|
|
|
+ <label class="layui-form-label">合同名称:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="text" input="workContractInfoName" name="workContractInfo.name" value="" htmlEscape="false" maxlength="255" class=" form-control layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item query athird ">
|
|
|
+ <label class="layui-form-label">委托方:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input type="text" input="workContractInfoClientName" name="workContractInfo.client.name" value="" htmlEscape="false" maxlength="255" class=" form-control layui-input">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item query athird ">
|
|
|
+ <label class="layui-form-label">创建时间:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input id="beginDate" name="beginDate" placeholder="开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
|
|
|
+ value="<fmt:formatDate value="${projectRecords.beginDate}" pattern="yyyy-MM-dd"/>"/>
|
|
|
+ </input>
|
|
|
+ <span class="group-sep">-</span>
|
|
|
+ <input id="endDate" name="endDate" placeholder="结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
|
|
|
+ value="<fmt:formatDate value="${projectRecords.endDate}" pattern="yyyy-MM-dd"/>"/>
|
|
|
+ </input>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="clear:both;"></div>
|
|
|
+ </div>
|
|
|
+ </form:form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="full-width fl">
|
|
|
+ <div class="layui-form contentDetails contentShadow shadowLBR">
|
|
|
+ <div class="nav-btns">
|
|
|
+ <button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i> 刷新</button>
|
|
|
+ </div>
|
|
|
+ <table class="oa-table layui-table" id="contentTable1"></table>
|
|
|
+ <table:page page="${page}"></table:page>
|
|
|
+ <div style="clear: both;"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="changewidth"></div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
|
|
|
+<script>
|
|
|
+
|
|
|
+ layui.use('table', function(){
|
|
|
+ layui.table.render({
|
|
|
+ limit:${ page.pageSize }
|
|
|
+ ,elem: '#contentTable1'
|
|
|
+ ,page: false
|
|
|
+ ,cols: [[
|
|
|
+ {field:'index',align:'center', title: '序号',width:40}
|
|
|
+ ,{field:'projName',align:'center', title: '项目名称',minWidth:200,templet:function(d){
|
|
|
+ return "<a class=\"attention-info\" title=\"" + d.projName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/project/projectRecords/view?id=" + d.id +"','95%', '95%')\">" + d.projName + "</a>";
|
|
|
+ }}
|
|
|
+ ,{field:'projId',align:'center', title: '项目编号',minWidth:150,templet:function(d){
|
|
|
+ return "<a class=\"attention-info\" title=\"" + d.projId + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看工程进度款信息', '${ctx}/project/designSummarizing/form?view=contentView&condition=interim&type=412&infoId="+d.id+"&id="+d.contentPId+"','95%', '95%')\">" + d.projId + "</a>";
|
|
|
+ }}
|
|
|
+ ,{field:'contract', align:'center',title: '合同名称',minWidth:150,templet:function(d){
|
|
|
+ return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
|
|
|
+ }}
|
|
|
+ ,{field:'projMaster', align:'center',title: '负责人', width:85,templet:function(d){
|
|
|
+ return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</span>";
|
|
|
+ }}
|
|
|
+ ,{field:'client',align:'center', title: '主委托方', width:150,templet:function(d){
|
|
|
+ return "<span title=\"" + d.client + "\">" + d.client + "</span>";
|
|
|
+ }}
|
|
|
+ ,{field:'createDate',align:'center', title: '创建日期', width:80}
|
|
|
+ ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
|
|
|
+ ////对操作进行初始化
|
|
|
+ var xml="";
|
|
|
+ /*if(d.canedit3 != undefined && d.canedit3 =="1")
|
|
|
+ {*/
|
|
|
+ xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogView('查看工程进度款信息', '${ctx}/project/distributionSummarizing/form?view=contentView&condition=interim&type=412&infoId="+d.id+"&id="+d.contentPId+"','95%','95%')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 详情</a>"
|
|
|
+ /*}*/
|
|
|
+ return xml;
|
|
|
+
|
|
|
+ }}
|
|
|
+ ]]
|
|
|
+ ,data: [
|
|
|
+ <c:if test="${ not empty page.list}">
|
|
|
+ <c:forEach items="${page.list}" var="projectRecords" varStatus="index">
|
|
|
+ <c:if test="${index.index != 0}">,</c:if>
|
|
|
+ {
|
|
|
+ "index":"${index.index+1}"
|
|
|
+ ,"id":"${projectRecords.id}"
|
|
|
+ ,"projId":"${projectRecords.projectId}"
|
|
|
+ ,"projName":"<c:out value="${projectRecords.projectName}" escapeXml="true"/>"
|
|
|
+ ,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"
|
|
|
+ ,"contract":"${projectRecords.workContractInfo.name}"
|
|
|
+ ,"client":"${projectRecords.workContractInfo.client.name}"
|
|
|
+ ,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
|
|
|
+ ,"projectStatus":"${projectRecords.projectStatus}"
|
|
|
+ ,"procId":"${projectRecords.processInstanceId}"
|
|
|
+ ,"contentPId":"${projectRecords.contentPId}"
|
|
|
+ ,"dictType":"${projectRecords.dictType}"
|
|
|
+ <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
|
|
|
+ <shiro:hasPermission name="project:projectRecords:del">,"candel": <c:choose><c:when test="${projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
|
|
|
+ <shiro:hasPermission name="project:projectRecords:edit">,"canedit1": <c:choose><c:when test="${projectRecords.projectStatus == 1 }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
|
|
|
+ ,"canedit2":<c:choose><c:when test="${projectRecords.projectStatus == 4}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
|
|
|
+ ,"canrecall":<c:choose><c:when test="${projectRecords.projectStatus == 3}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
|
|
|
+ </shiro:hasPermission>
|
|
|
+ ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ ,"candel":"0"
|
|
|
+ ,"canedit1":"0"
|
|
|
+ ,"canedit2":"0"
|
|
|
+ ,"canrecall":"0"
|
|
|
+ ,"cancancel":"0"
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ <shiro:hasPermission name="project:projectRecords:edit">,"canedit3":<c:choose><c:when test="${projectRecords.projectStatus == 5 && fn:contains(projectRecords.leaderIds,fns:getUser().id)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
|
|
|
+ }
|
|
|
+ </c:forEach>
|
|
|
+ </c:if>
|
|
|
+ ]
|
|
|
+ });
|
|
|
+ })
|
|
|
+
|
|
|
+ resizeListTable();
|
|
|
+ $("a").on("click",addLinkVisied);
|
|
|
+</script>
|
|
|
+<script>
|
|
|
+ resizeListWindow2();
|
|
|
+ $(window).resize(function(){
|
|
|
+ resizeListWindow2();
|
|
|
+ });
|
|
|
+</script>
|
|
|
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
|
|
|
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
|
|
|
+</body>
|
|
|
+</html>
|