<%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
<%@ 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">
        <%--var Srole = "<%= UserUtils.getSelectRole().getName()%>";--%>

        $(document).ready(function() {
            // laydate.render({
            //     elem: '#invoiceDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
            //     event: 'focus' //响应事件。如果没有传入event，则按照默认的click
				// ,type:'datetime'
            // });
            //搜索框收放
            $('#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: '#updateDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
                event: 'focus', //响应事件。如果没有传入event，则按照默认的click
                type : 'date'
            });
            laydate.render({
                elem: '#beginContractDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
                event: 'focus', //响应事件。如果没有传入event，则按照默认的click
                type : 'date'
            });
            laydate.render({
                elem: '#endContractDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
                event: 'focus', //响应事件。如果没有传入event，则按照默认的click
                type : 'date'
            });
        });
        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 ,
                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,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
                    }
                    return false;
                },
                btn3: function(index){
                }
            });

        }

        function openDialogreplay(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:"two-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
                    }

                },
                cancel: 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}/workinvoice/workInvoice/list">发票管理</a></li>
					<li class="active"><a href="${ctx}/workinvoicealter/workInvoiceAlter/list">发票变更</a></li>
				</ul>
			</div>
		</div>
		<div class="full-width fl">
			<div class=" layui-row contentShadow shadowLR" id="queryDiv">
				<form:form id="searchForm" modelAttribute="workInvoiceAlter" action="${ctx}/workinvoicealter/workInvoiceAlter/list" 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 lw9">
					<div class="layui-item query athird">
						<label class="layui-form-label">实际开票单位：</label>
						<div class="layui-input-block">
							<form:input path="client.name" 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 with-icon">
							<form:input path="project.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" class="lw9" style="clear:both;display:none;">
						<div class="layui-item query athird">
							<label class="layui-form-label">变更日期：</label>
							<div class="layui-input-block">
								<input id="beginContractDate" name="beginContractDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
									   value="<fmt:formatDate value="${workInvoiceAlter.beginContractDate}" pattern="yyyy-MM-dd"/>"/>
								</input>
								<span class="group-sep">-</span>
								<input id="endContractDate" name="endContractDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
									   value="<fmt:formatDate value="${workInvoiceAlter.endContractDate}" 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:input path="number" 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="office.name" 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 with-icon">
								<form:select path="invoiceState" class="form-control simple-select">
									<form:option value="" label=""/>
									<form:options items="${fns:getDictList('audit_change_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
								</form:select>
							</div>
						</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 style="clear: both;"></div>
				</div>
				<table class="oa-table layui-table" id="contentTable"></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: '#contentTable'
            ,page: false
            ,cols: [[
                // {checkbox: true, fixed: true},
                {field:'index',align:'center', title: '序号',width:40}
                ,{field:'invoiceNum',align:'center', sort:true,title: '发票申请编号', minWidth:150,templet:function(d){
                        return "<a class=\"attention-info\" title=\""+ d.invoiceNum +"\"href=\"javascript:void(0);\" onclick=\"openDialogView('查看发票管理', '${ctx}/workinvoicealter/workInvoiceAlter/form?id=" + d.id + "&tabId=1','95%', '95%')\">" + d.invoiceNum + "</a>";
                    }}
                ,{field:'projNum',align:'center', sort:true,title: '项目编号', minWidth:150,templet:function(d){
                        return "<span title='"+ d.projNum +"'>" + d.projNum + "</span>";
                    }}
                ,{field:'projName',align:'center', title: '项目名称', minWidth:100,templet:function(d){
                        return "<span title='"+ d.projName +"'>" + d.projName + "</span>";
                    }}
                ,{field:'clientName', align:'center',title: '实际开票单位', minWidth:150,templet:function(d){
                        return "<span title='"+ d.clientName +"'>" + d.clientName + "</span>";
                    }}
                ,{field:'officeName', align:'center',title: '所属部门',width:150,templet:function(d){
                        return "<span title='"+ d.officeName +"'>" + d.officeName + "</span>";
                    }}
                ,{field:'money',align:'center', title: '价税合计(元)',  width:90,templet:function(d){
                        return "<span title='"+ d.money +"'>" + d.money + "</span>";
                    }}
                ,{field:'updateDate', align:'center',sort:true,title: '变更日期',width:80}
                ,{align:'center', title: '状态',  width:70,templet:function(d){
                        <%--var st = getAuditChangeState(d.status)--%>
                        <%--var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workinvoicealter/workInvoiceAlter/getProcessOne?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
                        <%--return xml;--%>
                        var st = getAuditChangeState(d.status);
                        if(st.action)
                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workinvoicealter/workInvoiceAlter/getProcessOne?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;
                    }}
                ,{align:'center',title:"操作",width:130,templet:function(d){
                        ////对操作进行初始化
                        var xml="";
                        if(d.canedit1 != undefined && d.canedit1 =="1")
                        {
                            xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('修改发票', '${ctx}/workinvoicealter/workInvoiceAlter/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=\"javascript:void(0)\" onclick=\"openDialogreplay('修改发票', '${ctx}/workinvoicealter/workInvoiceAlter/form?id=" + d.id + "&tabId=3','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                        }
                        if(d.canedit3 != undefined && d.canedit3 =="1")
                        {
                            xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogreplay('重新申请发票', '${ctx}/workinvoicealter/workInvoiceAlter/form?id=" + d.id + "&tabId=4','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
                        }
                        if(d.candelete != undefined && d.candelete =="1")
                        {
                            xml += "<a href=\"${ctx}/workinvoicealter/workInvoiceAlter/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}/workinvoicealter/workInvoiceAlter/cancelInvalidate?id="+ d.id +"\" onclick=\"return confirmx('确认要强制撤回？', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                        }

                        return xml;

                    }}
            ]]
            ,data: [
                <c:if test="${ not empty page.list}">
                <c:forEach items="${page.list}" var="workInvoiceAlter" varStatus="index"><c:set var="Srole" scope="session" value="<%= UserUtils.getSelectRole().get(0).getEnname()%>"/>
                <c:if test="${index.index != 0}">,</c:if>
                {
                    "index":"${index.index+1}"
                    ,"id":"${workInvoiceAlter.id}"
                    ,"invoiceNum":"${workInvoiceAlter.number}"
                    ,"projNum":"${workInvoiceAlter.project.projectId}"
                    ,"projName":"${workInvoiceAlter.project.projectName}"
                    ,"clientName":"${workInvoiceAlter.client.name}"
                    ,"officeName":"${workInvoiceAlter.office.name}"
                    ,"money":"<fmt:formatNumber value="${workInvoiceAlter.money}" pattern="#,#00.00"/>"
                    ,"updateDate":"<fmt:formatDate value="${workInvoiceAlter.updateDate}" pattern="yyyy-MM-dd"/>"
                    ,"status":"${workInvoiceAlter.invoiceState}"
                    <c:if test="${workInvoiceAlter.invoiceState == 1}"><shiro:hasPermission name="workinvoice:workInvoice:edit">,"canedit1":"1"</shiro:hasPermission></c:if><%--暂存-修改--%>
                    <c:if test="${workInvoiceAlter.invoiceState == '4' && fns:getUser().id == workInvoiceAlter.createBy.id}">,"canedit2":"1"</c:if><%--驳回--修改--%>
                    <c:if test="${workInvoiceAlter.invoiceState == '3' && fns:getUser().id == workInvoiceAlter.createBy.id}">,"canedit3":"1"</c:if><%--撤回--修改--%>
                    <c:if test="${workInvoiceAlter.invoiceState == '1' or workInvoiceAlter.invoiceState == '3' or workInvoiceAlter.invoiceState == '4'}"><shiro:hasPermission name="workinvoice:workInvoice:del">,"candelete":"1"</shiro:hasPermission></c:if>
                    <c:if test="${workInvoiceAlter.invoiceState == '2' && fns:getUser().id == workInvoiceAlter.createBy.id}">,"cancancel":"1"</c:if>
                }
                </c:forEach>
                </c:if>
            ]
            // ,even: true
            // ,height: 315
        });

    })

    resizeListTable();/*消除由于有竖向滚动条造成table出现横向滚动条*/
</script>
<script>
    resizeListWindow2();
    $(window).resize(function(){
        resizeListWindow2();
    });
</script>

</body>
</html>