<%@ 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"/>


    <style>
        .widthClass{
            display: inline-block;
        }
        .shows .input-group{
            width: 48%!important;
        }
    </style>
    <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="contentShadow layui-row" id="queryDiv">
                <form:form id="searchForm" modelAttribute="workReimbursement" action="${ctx}/workreimbursement/workReimbursement/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">
                        <div class="layui-item query athird">
                            <label class="layui-form-label">报销项目：</label>
                            <div class="layui-input-block with-icon">
                                <sys:gridselectcallproject url="${ctx}/workreimbursement/workReimbursement/selectproject" id="project" name="project.id"  value="${workReimbursement.project.id}"  title="选择报销项目" labelName="project.projectName"
                                                           labelValue="${workReimbursement.project.projectName}"  cssClass="form-control widthClass layui-input" fieldLabels="工程" fieldKeys="projectName" searchLabel="工程名称" searchKey="projectName"></sys:gridselectcallproject>
                            </div>
                        </div>
                        <%--<div class="layui-item query athird">
                            <label class="layui-form-label">报销时间：</label>
                            <div class="layui-input-block">
                                <input id="startDate" name="startDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon"
                                       value="<fmt:formatDate value="${workReimbursement.startDate}" pattern="yyyy-MM-dd"/>"/>
                                </input>
                            </div>
                        </div>
                        <div class="layui-item query athird">
                            <label class="layui-form-label">——&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                            <div class="layui-input-block">
                                <input id="endDate" name="endDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon"
                                       value="<fmt:formatDate value="${workReimbursement.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">
                                <input id="startDate" placeholder="开始时间" name="startDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
                                       value="<fmt:formatDate value="${workReimbursement.startDate}" pattern="yyyy-MM-dd"/>"/>
                                </input>
                                <span class="group-sep">-</span>
                                <input id="endDate" placeholder="结束时间" name="endDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
                                       value="<fmt:formatDate value="${workReimbursement.endDate}" pattern="yyyy-MM-dd"/>"/>
                                </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;">
                        <div class="layui-item query athird">
                            <label class="layui-form-label">报销人：</label>
                            <div class="layui-input-block with-icon">
                                <sys:treeselect id="submitterId" name="submitterId" value="${workReimbursement.submitterId}" labelName="submitterName" labelValue="${workReimbursement.submitterName}"
                                                title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
                            </div>
                        </div>
                        <div class="layui-item query athird">
                            <label class="layui-form-label">报销状态：</label>
                            <div class="layui-input-block">
                                <form:select path="status" 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 class="layui-item query athird">
                            <label class="layui-form-label">报销部门：</label>
                            <div class="layui-input-block with-icon">
                                <sys:treeselect id="officeId" name="officeId" value="${workReimbursement.officeId}" labelName="officeName" labelValue="${workReimbursement.officeName}"
                                                title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
                            </div>
                        </div>
                        <div style="clear:both;"></div>
                    </div>
                </form:form>
            </div>
        </div>

        <div class="full-width fl">
            <div class="contentShadow layui-form contentDetails">
                <div class="nav-btns">
                    <%--此处按钮样式包括 nav-btn-add nav-btn-refresh nav-btn-import nav-btn-export nav-btn-query nav-btn-reset--%>
                    <shiro:hasPermission name="workreimbursement:workReimbursement:add">
                        <a href="javascript:void(0)" onclick="openDialogre('新增报销单', '${ctx}/workreimbursement/workReimbursement/form?tabId=0','95%','95%')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp;添加</a>
                    </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="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:'submitterId',align:'center',  width:40,title: '序号'}
                ,{field:'number',align:'center', title: '报销编号', minWidth:150,templet:function(d){
                        var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看报销单', '${ctx}/workreimbursement/workReimbursement/form?id=" + d.id + "&tabId=1','95%','95%')\">" +
                            "<span title=" + d.realnumber + ">" + d.number + "</span></a>";
                        return xml;
                    }}
                ,{field:'submitterName',align:'center', title: '报销人', width:80,templet:function(d){
                        return "<span title='"+ d.submitterName +"'>" + d.submitterName + "</span>";
                    }}
                ,{field:'officeId',align:'center', title: '报销公司/部门', minWidth:110,templet:function(d){
                        return "<span title='"+ d.officeId +"'>" + d.officeId + "</span>";
                    }}
                ,{field:'projectId', align:'center',title: '报销项目', minWidth:150,templet:function(d){
                        return "<span title='"+ d.projectId +"'>" + d.projectId + "</span>";
                    }}
                ,/*{field:'projectLeader', align:'center',title: '项目负责人', width:80,templet:function(d){
                        return "<span title='"+ d.projectLeader +"'>" + d.projectLeader + "</span>";
                    }}
                ,*/{field:'submitterDate', align:'center',title: '报销日期',width:80}
                ,{field:'money',align:'center', title: '报销金额', width:100,templet:function(d){
                        return "<span title='"+ d.money +"'>" + d.money + "</span>";
                    }}
                ,{ title: '状态', align:'center',width:70,templet:function(d){
                        <%--var st = getAuditState(d.status);--%>
                        <%--var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workreimbursement/workReimbursement/getProcessOne?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
                        <%--return xml;--%>
                        var st = getAuditState(d.status);
                        if(st.action)
                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workreimbursement/workReimbursement/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;
                    }}
                // ,{fixed: 'right',align:'center', toolbar: '#op',title:"操作"}
                ,{align:'center',title:"操作",width:130,templet:function(d){
                        ////对操作进行初始化
                        var xml = "";
                        if(d.cancancel != undefined && d.cancancel == "1")
                            xml += "<a href=\"${ctx}/workreimbursement/workReimbursement/cancelInvalidate?id=" + d.id + "\" onclick=\"return confirmx('确认要强制撤回？', this.href)\"   class=\"op-btn op-btn-cancel\"><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                        if(d.canedit1 != undefined && d.canedit1 == "1")
                            xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('修改报销单', '${ctx}/workreimbursement/workReimbursement/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}/workreimbursement/workReimbursement/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}/workreimbursement/workReimbursement/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}/workreimbursement/workReimbursement/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该报销单吗？', this.href)\"   class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";

                        return xml;
                    }}
            ]]
            ,data: [
                <c:if test="${ not empty page.list}">
                <c:forEach items="${page.list}" var="workReimbursement" varStatus="index">
                <c:if test="${index.index != 0}">,</c:if>
                {
                    "index":"${index.index+1}"
                    ,"id":"${workReimbursement.id}"
                    ,"submitterId":"${index.index+1}"
                    ,"realnumber":"${workReimbursement.number}"
                    ,"number":"${workReimbursement.number}"
                    ,"submitterName":"<c:out value="${fns:getUserById(workReimbursement.submitterId).name}" escapeXml="true"/>"
                    ,"officeId":"${fns:getOfficeById(workReimbursement.officeId).name}"
                    ,"projectId":
                        <c:if test="${workReimbursement.ext == 1}">
                            "<c:out value="${workReimbursement.projectName}" escapeXml="true"/>"
                        </c:if>
                        <c:if test="${workReimbursement.ext != 1}">
                            "<c:out value="${workReimbursement.project.projectName}" escapeXml="true"/>"
                        </c:if>
                    ,"projectLeader":
                        <c:if test="${not empty workReimbursement.project && not empty workReimbursement.project.leaderNameStr}">
                            "<c:out value="${workReimbursement.project.leaderNameStr}" escapeXml="true"/>"
                    </c:if>
                    <c:if test="${empty workReimbursement.project || empty workReimbursement.project.leaderNameStr}">
                    ""
                    </c:if>
                    ,"submitterDate":"<fmt:formatDate value="${workReimbursement.submitterDate}" pattern="yyyy-MM-dd"/>"
                    ,"money":"<fmt:formatNumber value="${workReimbursement.money}" pattern="#,#0.00"/>"
                    ,"status":"${workReimbursement.status}"
                    <shiro:hasPermission name="workreimbursement:workReimbursement:del">
                    ,"candelete":
                        <c:if test="${fns:getUser().id == workReimbursement.createBy.id && (workReimbursement.status == '1' or workReimbursement.status == '3' or workReimbursement.status == '4')}">"1"</c:if>
                    <c:if test="${fns:getUser().id != workReimbursement.createBy.id || (workReimbursement.status != '1' and workReimbursement.status != '3' and workReimbursement.status != '4')}">"0"</c:if>
                    </shiro:hasPermission>
                    ,"cancancel":
                        <c:if test="${workReimbursement.status == '2' && fns:getUser().id == workReimbursement.createBy.id}">"1"</c:if>
                    <c:if test="${workReimbursement.status != '2' || fns:getUser().id != workReimbursement.createBy.id}">"0"</c:if>
                    <shiro:hasPermission name="workreimbursement:workReimbursement:edit">
                    ,"canedit1":
                        <c:if test="${fns:getUser().id == workReimbursement.createBy.id && workReimbursement.status == '1' }">"1"</c:if>
                    <c:if test="${fns:getUser().id != workReimbursement.createBy.id || workReimbursement.status != '1' }">"0"</c:if>
                    ,"canedit2":
                        <c:if test="${fns:getUser().id == workReimbursement.createBy.id && workReimbursement.status == '4' && fns:getUser().id == workReimbursement.createBy.id}">"1"</c:if>
                    <c:if test="${fns:getUser().id != workReimbursement.createBy.id || workReimbursement.status != '4' || fns:getUser().id != workReimbursement.createBy.id}">"0"</c:if>
                    ,"canedit3":
                        <c:if test="${workReimbursement.status == '3' && fns:getUser().id == workReimbursement.createBy.id}">"1"</c:if>
                    <c:if test="${workReimbursement.status != '3' || fns:getUser().id != workReimbursement.createBy.id}">"0"</c:if>
                    </shiro:hasPermission>
                }
                </c:forEach>
                </c:if>
            ]
            // ,even: true
            // ,height: 315
        });
    })
    resizeListTable();
    $("a").on("click",addLinkVisied);
</script>
<script>
    resizeListWindow1();
    $(window).resize(function(){
        resizeListWindow1();
    });
</script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#cus_name").show();
        $("#cus_name").siblings().hide();
        //搜索框收放
        $('#moresee').click(function(){
            if($('#moresees').is(':visible'))
            {
                $('#moresees').slideUp(0,resizeListWindow1);
                $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
            }else{
                $('#moresees').slideDown(0,resizeListWindow1);
                $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
            }
        });

        laydate.render({
            elem: '#startDate', //目标元素。由于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 switchInput(obj){
        $("#"+obj).show();
        $("#"+obj).siblings().hide();
    }
    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,
            skin: 'three-btns',
            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中展示
                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,
            skin: 'two-btns',
            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中展示

                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>
</body>
</html>
