<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/webpage/include/taglib.jsp"%>
<html>
<head>
	<title>项目登记</title>
	<meta name="decorator" content="default"/>
	<%--<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>--%>
	<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 class="active"><a href="${ctx}/project/projectRecords/list">项目登记列表</a></li>
					<li><a href="${ctx}/project/projectRecordsAlter/list">项目变更列表</a></li>
				</ul>
			</div>

			<%--<div class="layui-row" id="tabDiv">--%>
			<%--<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">--%>
			<%--<ul class="layui-tab-title">--%>
			<%--<li class="layui-this"><a href="${ctx}/project/projectRecords/list">项目登记列表</a></li>--%>
			<%--<li><a href="${ctx}/project/projectRecordsAlter/list">项目变更列表</a></li>--%>
			<%--</ul>--%>
			<%--</div>--%>
			<%--</div>--%>
		</div>
		<div class="full-width fl">
			<div class="layui-row contentShadow shadowLR" id="queryDiv">
				<form:form id="searchForm" modelAttribute="projectRecords" action="${ctx}/project/projectRecords/" 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 with-icon">
								<form:input path="projectId" 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="projectName" htmlEscape="false" maxlength="64"  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">
								<form:input path="leaderNameStr" 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">
								<form:input path="workContractInfo.name" 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">
								<form:input path="workContractInfo.client.name" 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 class="layui-item query athird ">
							<label class="layui-form-label">状态：</label>
							<div class="layui-input-block">
								<form:select path="projectStatus" class=" form-control  simple-select">
									<form:option value="" label=""/>
									<form:options items="${fns:getDictList('audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
								</form:select>
							</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">
					<shiro:hasPermission name="project:projectRecords:add">
						<table:addRow url="${ctx}/project/projectRecords/form" title="项目"></table:addRow><!-- 增加按钮 -->
					</shiro:hasPermission>
					<shiro:hasPermission name="project:projectRecords:del">
						<%--<table:delRow url="${ctx}/project/projectRecords/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->--%>
					</shiro:hasPermission>
					<shiro:hasPermission name="project:projectRecords:export">
						<table:exportExcel url="${ctx}/project/projectRecords/export"></table:exportExcel><!-- 导出按钮 -->
					</shiro:hasPermission>
					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>
					<div style="clear: both;"></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: [[
                // {checkbox: true, fixed: true},
                {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/projectRecords/view?id=" + d.id + "','95%', '95%')\">" + d.projId + "</a>";
                    }}
                ,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
                    	return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
					}}
                ,{field:'projMaster', align:'center',title: '负责人', width:65,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}
                ,{align:'center', title: '状态',  width:70,templet:function(d){
                        <%--var st = getAuditState(d.projectStatus)--%>
                        <%--var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectRecords/getProcess?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
                        <%--return xml;--%>
                        var st = getAuditState(d.projectStatus);
                        if(st.action)
                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectRecords/getProcess?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                        else
                            var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                        return xml;
                    }}
                ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
                        ////对操作进行初始化
                        var xml="";
                        if(d.canedit1 != undefined && d.canedit1 =="1")
                        {
                            xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/project/projectRecords/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                        }
                        if(d.canedit2 != undefined && d.canedit2 =="1")
                        {
                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/project/projectRecords/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                        }
                        if(d.canrecall != undefined && d.canrecall =="1")
                        {
                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/project/projectRecords/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                        }
                        if(d.candel != undefined && d.candel =="1")
                        {
                            xml+="<a href=\"${ctx}/project/projectRecords/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该项目信息吗？', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
                        }
                        if(d.cancancel != undefined && d.cancancel =="1")
                        {
                            xml+="<a href=\"${ctx}/project/projectRecords/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "\" onclick=\"return confirmx('确认要撤回该项目审批吗？', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                        }
                        if(d.canedit3 != undefined && d.canedit3 =="1")
                        {
                            xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/project/projectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'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}"
                    <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>
            ]
            // ,even: true
            // ,height: 315
        });
    })

    resizeListTable();
    $("a").on("click",addLinkVisied);
</script>
<script>
    resizeListWindow2();
    $(window).resize(function(){
        resizeListWindow2();
    });
</script>
</body>
</html>