|
@@ -0,0 +1,375 @@
|
|
|
+<%@ 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'
|
|
|
+, trigger: 'click'
|
|
|
+ });
|
|
|
+ laydate.render({
|
|
|
+ elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
|
|
|
+ event: 'focus', //响应事件。如果没有传入event,则按照默认的click
|
|
|
+ type : 'date'
|
|
|
+, trigger: 'click'
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ function reset() {
|
|
|
+ $("#searchForm").resetForm();
|
|
|
+ }
|
|
|
+
|
|
|
+ function openDialog(title,url,width,height,target) {
|
|
|
+
|
|
|
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
|
|
|
+ width = 'auto';
|
|
|
+ height = 'auto';
|
|
|
+ } else {//如果是PC端,根据用户设置的width和height显示。
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ top.layer.open({
|
|
|
+ type: 2,
|
|
|
+ area: [width, height],
|
|
|
+ title: title,
|
|
|
+ maxmin: true, //开启最大化最小化按钮
|
|
|
+ content: url,
|
|
|
+ skin: 'three-btns',
|
|
|
+ btn: ['提交', '关闭'],
|
|
|
+ btn1: function(index, layero){
|
|
|
+ var body = top.layer.getChildFrame('body', index);
|
|
|
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
|
|
|
+ var inputForm = body.find('#inputForm');
|
|
|
+ var top_iframe;
|
|
|
+ if(target){
|
|
|
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
|
|
|
+ }else{
|
|
|
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
|
|
|
+ }
|
|
|
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
|
|
|
+ if(iframeWin.contentWindow.doSubmit(1) ){
|
|
|
+ // top.layer.close(index);//关闭对话框。
|
|
|
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
|
|
|
+ }
|
|
|
+ },
|
|
|
+ btn2: function (index) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function 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) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function uploadFile(id){
|
|
|
+ $("#projectTypeId").val(id);
|
|
|
+ top.layer.open({
|
|
|
+ type: 1,
|
|
|
+ area: [500, 300],
|
|
|
+ title:"上传确认单",
|
|
|
+ skin: 'three-btns with-demo',
|
|
|
+ content:$("#importBox").html() ,
|
|
|
+ btn: ['下载模板','确定', '关闭'],
|
|
|
+ btn1: function(index, layero){
|
|
|
+ window.location.href='${ctx}/project/projectMaterialsWarehouse/import/template';
|
|
|
+ },
|
|
|
+ btn2: function(index, layero){
|
|
|
+ $.ajax({
|
|
|
+ url : '${ctx}/project/projectMaterialsWarehouse/import',
|
|
|
+ type : "post",
|
|
|
+ async:false,
|
|
|
+ cache: false, // 不缓存数据
|
|
|
+ processData: false, // 不处理数据
|
|
|
+ contentType: false, // 不设置内容类型
|
|
|
+ data : new FormData(top.$("#importForm")[0]),
|
|
|
+ success : function(data) {
|
|
|
+ if (data.success){
|
|
|
+ parent.layer.msg(data.msg, {icon: 1});
|
|
|
+ }else {
|
|
|
+ parent.layer.msg(data.msg, {icon: 2});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ btn3: function(index){
|
|
|
+ top.layer.close(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 id="importBox" class="hide">
|
|
|
+ <form id="importForm" style="padding-left:20px;text-align:center;" method="post" enctype="multipart/form-data"><br/>
|
|
|
+ <input value="" id="file" name="file" type="file" style="width:330px"/>导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!<br/>
|
|
|
+ <div>
|
|
|
+ <input type="hidden" name ="id" id="id"/>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+</div>
|
|
|
+<div class="wrapper wrapper-content">
|
|
|
+ <sys:message content="${message}"/>
|
|
|
+ <div class="layui-row">
|
|
|
+ <div class="full-width fl">
|
|
|
+ <div class="layui-row contentShadow shadowLR" id="queryDiv">
|
|
|
+ <form:form id="searchForm" modelAttribute="projectRecords" action="${ctx}/project/projectMaterialsWarehouseAll" 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>
|
|
|
+ <div class="layui-btn-group search-spacing">
|
|
|
+ <button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="search()">查询</button>
|
|
|
+ <button id="searchReset" class="layui-btn layui-btn-sm " onclick="resetSearch()">重置</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style=" clear:both;"></div>
|
|
|
+ </div>
|
|
|
+ <div id="moresees" style="clear:both;display:none;" class="lw6">
|
|
|
+ <div 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 readOnlyFFF">
|
|
|
+ <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">
|
|
|
+ <div class="layui-btn-group">
|
|
|
+ <button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <table class="oa-table layui-table" id="contentTable1"></table>
|
|
|
+ <table:page page="${page}"></table:page>
|
|
|
+ <div style="clear: both;"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="changewidth"></div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<script 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/interimPaymentSummarizing/form?view=contentView&condition=interim&type=420&infoId="+d.id+"&id="+d.contentPId+"','95%', '95%')\">" + d.projId + "</a>";
|
|
|
+ }}
|
|
|
+ ,{field:'contract', align:'center',title: '合同名称',minWidth:150,templet:function(d){
|
|
|
+ if(null == d.contract || '' == d.contract){
|
|
|
+ return "<span style=\"color:red\" title='无合同'>无合同</span>";
|
|
|
+ }else{
|
|
|
+ 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="<div class=\"layui-btn-group\">";
|
|
|
+ <shiro:hasPermission name="project:projectMaterialsWarehouse:view">
|
|
|
+ xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogView('查看输变电项目材料信息', '${ctx}/project/projectMaterialsWarehouse/particularsListView?projectId="+d.id+"','95%','95%')\" style=\"color: white;background: #1E9FFF\" class=\"layui-btn layui-btn-xs \" >查看</a>"
|
|
|
+ </shiro:hasPermission>
|
|
|
+
|
|
|
+
|
|
|
+ xml+="</div>";
|
|
|
+ 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}">
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ ,"candel":"0"
|
|
|
+ ,"canedit1":"0"
|
|
|
+ ,"canedit2":"0"
|
|
|
+ ,"canrecall":"0"
|
|
|
+ ,"cancancel":"0"
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+
|
|
|
+ }
|
|
|
+ </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>
|