<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/webpage/include/taglib.jsp"%>
<html>
<head>
	<title>项目实施记录管理</title>
	<meta name="decorator" content="default"/>
	<script type="text/javascript">
		$(document).ready(function() {
			laydate.render({
	            elem: '#startTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
	            event: 'focus', //响应事件。如果没有传入event，则按照默认的click
				type : 'datetime'
	        });
			laydate.render({
	            elem: '#endTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
	            event: 'focus', //响应事件。如果没有传入event，则按照默认的click
				type : 'datetime'
	        });
		});
	</script>
	<script type="text/javascript">
		function openDialogre(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 ,
				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中展示
					var formId = inputForm.attr("id");
					if(formId){
						var $document = iframeWin.contentWindow.document;
						$document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=submit");
						formSubmit($document,formId,index);
					}
				},
				cancel: function(index){
				}
			});
		}
        function openDialogreReapply(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,
                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中展示
                    var formId = inputForm.attr("id");
                    if(formId){
                        var $document = iframeWin.contentWindow.document;
                        $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=reapply");
                        formSubmit($document,formId,index);
                    }
                },
                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中展示
                    var formId = inputForm.attr("id");
                    if(formId){
                        var $document = iframeWin.contentWindow.document;
                        $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=repeal");
                        formSubmit($document,formId,index);
                    }
                    return false;
                },
                btn3: function (index) {
                }
            });
        }
		function formSubmit($document,inputForm,index){
			var validateForm = $($document.getElementById(inputForm)).validate({
				submitHandler: function(form){
					loading('正在提交，请稍等...');
					form.submit();
				},
				errorContainer: "#messageBox",
				errorPlacement: function(error, element) {
					$($document.getElementById("#messageBox")).text("输入有误，请先更正。");
					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
						error.appendTo(element.parent().parent());
					} else {
						error.insertAfter(element);
					}
				}
			});
			if(validateForm.form()){
                var loadingMessage = parent.layer.load(0, {shade: [0.1,'#393d49']});
                $($document.getElementById(inputForm)).ajaxSubmit({
					success:function(data) {
						top.layer.close(index);
                        parent.layer.msg("保存成功！！！",{icon:6});
                        parent.layer.close(loadingMessage);
                        window.location.reload();
					}
				});
			}
		}

	</script>
</head>
<body class="gray-bg">
	<div class="wrapper wrapper-content">
	<div class="ibox">
	<div class="ibox-title">
		<h5>
			<%--<ul class="nav nav-tabs">--%>
				<%--<li><a href="${ctx}/workfullexecute/workFullExecute/auditTodo?workFullManageId=${workFullExecute.workFullManageId}">待审核列表</a></li>--%>
				<%--<li><a href="${ctx}/workfullexecute/workFullExecute/auditHistory?workFullManageId=${workFullExecute.workFullManageId}">已审核列表</a></li>--%>
				<%--<li class="active"><a href="${ctx}/workfullexecute/workFullExecute/list?workFullManageId=${workFullExecute.workFullManageId}">项目实施列表</a></li>--%>
			<%--</ul>--%>
			项目实施列表

		</h5>
		<div class="ibox-tools">
			<a class="collapse-link">
				<i class="fa fa-chevron-up"></i>
			</a>
			<a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
				<i class="fa fa-wrench"></i>
			</a>
			<ul class="dropdown-menu dropdown-user">
				<li><a href="javascript:void(0)">选项1</a>
				</li>
				<li><a href="javascript:void(0)">选项2</a>
				</li>
			</ul>
			<a class="close-link">
				<i class="fa fa-times"></i>
			</a>
		</div>
		<div class="pull-right">
			<c:choose>
				<c:when test="${closeable eq 3}">
					<a href="javascript:void(0)"  onclick="javascript:parent.layer.msg('无项目实施记录',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
				</c:when>
				<c:otherwise>
					<c:if test="${closeable eq 1}">
						<a id="closeWorkFullExecute" href="${ctx}/workfullexecute/workFullExecute/closeWorkFullExecute?workFullManageId=${workFullExecute.workFullManageId}" onclick="return confirmx('确认要关闭项目实施吗？', this.href)"   class="btn btn-danger btn-rounded btn-outline btn-sm">结束项目实施</a>
					</c:if>
					<c:if test="${closeable eq 2}">
						<a href="javascript:void(0)"  onclick="javascript:parent.layer.msg('项目实施已完成，无需重复关闭',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
					</c:if>
					<c:if test="${closeable ne 1 and closeable ne 2}">
						<a href="javascript:void(0)"  onclick="javascript:parent.layer.msg('部门负责人权限',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
					</c:if>
				</c:otherwise>
			</c:choose>
			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		</div>
	</div>
    
    <div class="ibox-content">
	<sys:message content="${message}"/>
	
	<!--查询条件-->
	<div class="row">
	<div class="col-sm-12">
	<form:form id="searchForm" modelAttribute="workFullExecute" action="${ctx}/workfullexecute/workFullExecute/list" method="get" class="form-inline">
		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
		<input type="hidden" name="workFullManageId" value="${requestScope.workFullManageId}">
		<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
		<div class="form-group">
			<span>文件名：</span>
				<form:input path="fileName" htmlEscape="false" maxlength="255"  class=" form-control input-sm"/>
			<span>文件类型：</span>
				<form:select path="fileType"  class="form-control m-b">
					<form:option value="" label=""/>
					<form:options items="${fns:getDictList('work_full_execute_fileType')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
				</form:select>
			<p></p>
			<span>编制开始日期：</span>
				<input id="startTime" name="startTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date input-sm"
					value="<fmt:formatDate value="${workFullExecute.startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
			<span>编制完成日期：</span>
				<input id="endTime" name="endTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date input-sm"
					value="<fmt:formatDate value="${workFullExecute.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
		 </div>	
	</form:form>
	<br/>
	</div>
	</div>
	
	<!-- 工具栏 -->
	<div class="row">
	<div class="col-sm-12">
		<div class="pull-left">
			<c:if test="${workFullManage.fullProjectStatus le 3 and workFullManage.fullProjectStatus ge 1}">
				<shiro:hasPermission name="workfullexecute:workFullExecute:add">
					<button onclick="openDialogre('新增项目实施', '${ctx}/workfullexecute/workFullExecute/form?workFullManageId=${workFullManageId}&dialog=add','80%','80%')"
							class="btn btn-white btn-sm" title="添加"><i class="fa fa-plus">添加</i></button>
				</shiro:hasPermission>
			</c:if>
	       <button class="btn btn-white btn-sm " data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i> 刷新</button>
		
			</div>
		<div class="pull-right">
			<button  class="btn btn-primary btn-rounded btn-outline btn-sm " onclick="search()" ><i class="fa fa-search"></i> 查询</button>
			<button  class="btn btn-primary btn-rounded btn-outline btn-sm " onclick="reset()" ><i class="fa fa-refresh"></i> 重置</button>
		</div>
	</div>
	</div>
	
	<!-- 表格 -->
	<table id="contentTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
		<thead>
			<tr>
				<th style="text-align: center;width: 5%">序号</th>
				<th style="text-align: center;width: 20%"  class="sort-column a.file_name">文件名称</th>
				<th style="text-align: center;width: 10%"  class="sort-column a.file_type">文件类型</th>
				<th style="text-align: center;width: 10%"  class="sort-column a.create_by">编制人</th>
				<th style="text-align: center;width: 10%"  class="sort-column a.create_date">上传时间</th>
				<th style="text-align: center;width: 10%"  class="sort-column a.status">当前状态</th>
				<th style="text-align: center;width: 10%">流程追踪</th>
				<th style="text-align: center;width: 20%">操作</th>
			</tr>
		</thead>
		<tbody>
		<c:forEach items="${page.list}" var="workFullExecute" varStatus="index">
			<tr>
				<td>
					${index.index+1}
				</td>
				<td>
					<c:if test="${not empty workFullExecute.exeFile}">
						<a href="javascript:void(0)" onclick="preview('预览','${workFullExecute.exeFile.url}','80%','80%')">
							<span title="${workFullExecute.fileName}">${fns:abbr(workFullExecute.fileName, 30)}</span>
						</a>
					</c:if>
					<c:if test="${empty workFullExecute.exeFile}">
						<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('没有实施文件',{icon:6})">
							<span title="${workFullExecute.fileName}">${fns:abbr(workFullExecute.fileName, 30)}</span>
						</a>
					</c:if>
				</td>
				<td>
					${fns:getDictLabel(workFullExecute.fileType, 'work_full_execute_fileType', '')}
				</td>
				<td>
					${workFullExecute.exeFile.attachmentUser}
				</td>
				<td>
					<fmt:formatDate value="${workFullExecute.exeFile.createDate}" pattern="yyyy-MM-dd"/>
				</td>
				<td>
					${fns:getDictLabel(workFullExecute.status,'work_full_execute_status' ,'' )}
				</td>
				<td>
					<div style="text-align: center">
					<c:if test="${! empty workFullExecute.processInstanceId}">
						<shiro:hasPermission name="workfullexecute:workFullExecute:view">
							<a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/workfullexecute/workFullExecute/getProcess?id=${workFullExecute.id}','80%','80%')" class="btn btn-info btn-xs" >流程追踪</a>
						</shiro:hasPermission>
					</c:if>
					<c:if test="${empty workFullExecute.processInstanceId}">
						<c:choose>
							<c:when test="${workFullExecute.status == 2}">
								<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目负责人创建，无需审核',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
							</c:when>
							<c:otherwise>
								<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('无流程信息',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
							</c:otherwise>
						</c:choose>
					</c:if>
					</div>
				</td>
				<td>
					<div style="text-align: center">
					<!--0暂存，1审核中，2已通过，3未通过，4已撤回-->
					<shiro:hasPermission name="workfullexecute:workFullExecute:view">
						<a href="javascript:void(0)" onclick="openDialogView('查看项目实施记录', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i>查看</a>
					</shiro:hasPermission>
					<!--修改：实施记录创建人权限，未通过可以修改；未通过的修改可以重新申请或撤回-->
					<c:if test="${workFullExecute.status == 0 || workFullExecute.status == 3}">
						<shiro:hasPermission name="workfullexecute:workFullExecute:edit">
							<c:choose>
								<c:when test="${fn:contains(workFullExecute.createBy.id, fns:getUser())}">
									<c:if test="${workFullExecute.status == 0 }">
										<a href="javascript:void(0)" onclick="openDialogre('修改项目实施', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i>修改</a>
									</c:if>
									<c:if test="${workFullExecute.status == 3 && workFullExecute.processEnded}"><%--流程未结束是true--%>
										<a href="javascript:void(0)" onclick="openDialogreReapply('修改项目实施', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i>修改</a>
									</c:if>
									<c:if test="${workFullExecute.status == 3 && !workFullExecute.processEnded}"><%--已结束--%>
										<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('流程已结束，无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
									</c:if>
								</c:when>
								<c:otherwise>
									<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您不是该实施记录的创建人，无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
								</c:otherwise>
							</c:choose>
						</shiro:hasPermission>
					</c:if>
					<c:if test="${workFullExecute.status ==1}">
						<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('审核中，无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
					</c:if>
					<c:if test="${workFullExecute.status ==2}">
						<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('审核已通过，无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
					</c:if>
					<c:if test="${workFullExecute.status ==4}">
						<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('已撤回，无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
					</c:if>
					<%-- 删除：项目创建人、项目经理权限；当项目竣工后，只有所属项目经理可删除--%>
					<shiro:hasPermission name="workfullexecute:workFullExecute:del">
						<c:choose>
							<c:when test="${fn:contains(workFullManage.hostMaster, fns:getUser()) or workFullManage.createBy.id == fns:getUser()}">
								<c:if test="${workFullManage.fullProjectStatus le 3 and workFullManage.fullProjectStatus ge 1}">
									<a href="${ctx}/workfullexecute/workFullExecute/delete?id=${workFullExecute.id}" onclick="return confirmx('确认要删除该项目实施记录吗？', this.href)"   class="btn btn-danger btn-xs"><i class="fa fa-trash"></i>删除</a>
								</c:if>
								<c:if test="${workFullManage.fullProjectStatus ge 4}">
									<c:choose>
										<c:when test="${fn:contains(workFullManage.hostMaster, fns:getUser())}">
											<a href="${ctx}/workfullexecute/workFullExecute/delete?id=${workFullExecute.id}" onclick="return confirmx('确认要删除该项目实施记录吗？', this.href)"   class="btn btn-danger btn-xs"><i class="fa fa-trash"></i>删除</a>
										</c:when>
										<c:otherwise>
											<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('该项目已竣工，只有项目经理才能删除',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i>删除</a>
										</c:otherwise>
									</c:choose>
								</c:if>
							</c:when>
							<c:otherwise>
								<a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目登记人、项目经理权限',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i>删除</a>
							</c:otherwise>
						</c:choose>
					</shiro:hasPermission>
					</div>
				</td>
			</tr>
		</c:forEach>
		</tbody>
	</table>
		<!-- 分页代码 -->
	<table:page page="${page}"></table:page>
	<br/>
	<br/>
	</div>
	</div>
</div>
</body>
</html>