changepassword.jsp 15.3 KB

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title><spring:message code="app.name" /></title>
    <jsp:include page="../../layout/inc.jsp"></jsp:include>
    <!-- validate 验证中英文 -->
    <script type="text/javascript" src="<%=basePath %>resource/validate/jquery.validate-${pageContext.response.locale}.js"></script>
</head>
<body>
<div class="container">
    <div id="pf-hd">
        <div class="pf-logo">
            <h1 style="font-size:24px;color:white;"><spring:message code="app.name" /></h1>
        </div>

        <div style="height:70px;line-height: 70px;width: 100px;float: right; ">
            <select style="background: #11a9e2;padding: 2px;border: 1px solid #FFF;color:#FFF;" onchange="sLang(this)">
                <option value="zh_CN" <c:if test="${pageContext.response.locale=='zh_CN'}">selected</c:if>>中文</option>
                <option value="en_US" <c:if test="${pageContext.response.locale=='en_US'}">selected</c:if>>English</option>
            </select>
        </div>

        <div class="pf-user">
            <div class="pf-user-photo">
                <img src="<%=basePath %>resource/images/main/user.png" alt="">
            </div>
            <h4 class="pf-user-name ellipsis" style="min-width:32px;">${user.loginaccount}</h4>
            <i class="iconfont xiala">&#xe607;</i>

            <div class="pf-user-panel">
                <ul class="pf-user-opt">

                    <li class="pf-modify-pwd">
                        <a href="<%=basePath %>system/user/changepassword">
                            <i class="iconfont">&#xe634;</i>
                            <span class="pf-opt-name"> <spring:message code="index.modifyPassword" /></span>
                        </a>
                    </li>
                    <li class="pf-logout">
                        <a href="<%=basePath %>logout">
                            <i class="iconfont">&#xe60e;</i>
                            <span class="pf-opt-name"><spring:message code="index.logout" /></span>
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>

    <div id="pf-bd">
        <div id="pf-sider">
            <h2 class="pf-model-name">
                <span class="iconfont">&#xe64a;</span>
                <span class="pf-name"><spring:message code="menu.name" /></span>
                <span class="toggle-icon"></span>
            </h2>

            <ul class="sider-nav">
                <li class="current">
                    <a href="javascript:;">
                        <span class="iconfont sider-nav-icon">&#xe674;</span>
                        <span class="sider-nav-title"><spring:message code="menu.system" /></span>
                        <i class="iconfont">&#xe642;</i>
                    </a>
                    <ul class="sider-nav-s">
                        <li class="active"><a href="javascript:void(0)" onclick="addTab('<spring:message code="menu.role" />||system/role/list',this)"><spring:message code="menu.role" /></a></li>
                        <li><a href="javascript:void(0)" onclick="addTab('<spring:message code="menu.agent" />||agent/list',this)"><spring:message code="menu.agent" /></a></li>
                        <li><a href="javascript:void(0)" onclick="addTab('<spring:message code="menu.user" />||system/user/list',this)"><spring:message code="menu.user" /></a></li>
                    </ul>
                </li>

                <li>
                    <a href="javascript:;" onclick="addTab('<spring:message code="menu.delivery" />||delivery/list',this)">
                        <span class="iconfont sider-nav-icon">&#xe69c;</span>
                        <span class="sider-nav-title"><spring:message code="menu.delivery" /></span>
                    </a>
                </li>

                <li>
                    <a href="javascript:void(0);">
                        <span class="iconfont sider-nav-icon">&#xe6b7;</span>
                        <span class="sider-nav-title"><spring:message code="menu.awb" /></span>
                        <i class="iconfont">&#xe642;</i>
                    </a>
                    <ul class="sider-nav-s">
                        <li><a href="javascript:void(0);" onclick="addTab('<spring:message code="menu.zhawb" />||bill/list?type=domestic',this)"><spring:message code="menu.zhawb" /></a></li>
                        <li><a href="javascript:void(0);" onclick="addTab('<spring:message code="menu.enawb" />||bill/list?type=national',this)"><spring:message code="menu.enawb" /></a></li>
                    </ul>
                </li>
                <li>
                    <a href="javascript:void(0)" onclick="addTab('账单核审||billcheck/report',this)">
                        <span class="iconfont sider-nav-icon">&#xe6e0;</span>
                        <span class="sider-nav-title">账单核审</span>
                    </a>
                </li>

                <li>
                    <a href="javascript:void(0)" onclick="addTab('办单||handlebill/list',this)">
                        <span class="iconfont sider-nav-icon">&#xe620;</span>
                        <span class="sider-nav-title">办单</span>
                    </a>
                </li>

                <li>
                    <a href="javascript:void(0)">
                        <span class="iconfont sider-nav-icon">&#xe6a4;</span>
                        <span class="sider-nav-title">货况追踪</span>
                    </a>
                </li>

                <li>
                    <a href="javascript:void(0)">
                        <span class="iconfont sider-nav-icon">&#xe6c3;</span>
                        <span class="sider-nav-title">预配舱单</span>
                    </a>
                </li>

                <li>
                    <a href="javascript:void(0)">
                        <span class="iconfont sider-nav-icon">&#xe69e;</span>
                        <span class="sider-nav-title">分拨分流申请</span>
                    </a>
                </li>

            </ul>
        </div>
        <style>
            .tabs-panels{
                padding:10px 5px 5px 10px;
            }
        </style>
        <div id="pf-page">
            <div class="easyui-tabs1" style="width:100%;height:100%;">
                <div title="<spring:message code="user.modifypwd"/>" data-options="closable:true">
                    <div class="content">
                        <form class="from-control" id="form">
                            <table class="kv-table">
                                <tbody>
                                <tr>
                                    <input type="hidden" id="id" name="id" value="${userid}">
                                    <td class="kv-label"><spring:message code="user.oldpwd"/></td>
                                    <td class="kv-content">
                                        <input  type="password" id="originalpassword" name="originalpassword" required maxlength="30">
                                    </td>
                                </tr>
                                <tr>
                                    <td class="kv-label"><spring:message code="user.newpwd"/></td>
                                    <td class="kv-content"><input type="password" name="newpassword" id="newpassword" onblur="regularValue()" required maxlength="30"><span id="showStrength"></span>
                                    </td>
                                </tr>
                                <tr>
                                    <td class="kv-label"><spring:message code="user.conpwd"/></td>
                                    <td class="kv-content"><input type="password" name="confirmnewpassword" id="confirmnewpassword" required maxlength="30">
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="6">
                                        <div class="opt-buttons" style="padding-top:20px;">
                                            <button type="submit" href="javascript:doSave()" class="easyui-linkbutton l-btn l-btn-small l-btn-selected " data-options="selected:true">
                                                <span class="l-btn-left"><span class="l-btn-text"><spring:message code="opt.save"/></span></span>
                                            </button>
                                            <button type="button" class="easyui-linkbutton l-btn l-btn-small" onclick="window.location.href='<%=basePath%>system/user/list'">
                                                <span class="l-btn-left"><span class="l-btn-text"><spring:message code="opt.cancel"/></span></span>
                                            </button>
                                        </div>
                                    </td>
                                </tr>
                                </tbody>
                            </table>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
    </div>

    <div id="pf-ft">
        <div class="system-name">
            <i class="iconfont">&#xe6fe;</i>
            <span><spring:message code="app.name" />&nbsp;v1.0</span>
        </div>
        <div class="copyright-name">
            <span>CopyRight&nbsp;2017&nbsp;&nbsp;&nbsp;版权所有</span>
            <i class="iconfont" >&#xe6ff;</i>
        </div>
    </div>

</div>
<script src="<%=basePath %>resource/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
    var centerTabs= $('.easyui-tabs1').tabs({
        tabHeight: 44,
        onSelect:function(title,index){
            var currentTab = $('.easyui-tabs1').tabs("getSelected");
            if(currentTab.find("iframe") && currentTab.find("iframe").size()){
                currentTab.find("iframe").attr("src",currentTab.find("iframe").attr("src"));
            }
        }
    })

    $(window).resize(function(){
        $('.tabs-panels').height($("#pf-page").height()-46);
        $('.panel-body').height($("#pf-page").height()-76)
    }).resize();

    //tab 联动
    function addTab(node) {
        var nodes=node.split("||");
        if(centerTabs.tabs('exists', nodes[0])){
            centerTabs.tabs('select',nodes[0]);
        }else{
            centerTabs.tabs('add',{
                title:nodes[0],
                closable:true,
                content:"<iframe class='page-iframe' src='<%=basePath %>system/role/list' frameborder='no'   border='no' height='100%' width='100%' scrolling='auto'></iframe>"
            });
        }
    }
    $(function(){
        $("#form").validate({
            rules:{
                confirmnewpassword : {
                    equalTo : "#newpassword"
                }
            },
            messages:{
                confirmnewpassword : "<spring:message code="opt.inputpwdagain"/>"
            },
            submitHandler:function(form){
                doSave();
            }
        });
    });

    function doSave(){
        var originalpassword = $("#originalpassword").val();
        var newpassword = $("#newpassword").val();
        var confirmnewpassword = $("#confirmnewpassword").val();
        var id = $("#id").val();


        var passwords = $("#newpassword").val();

        var reg = /^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{8,}$/;

        var re = new RegExp(reg);

        if (re.test(passwords)){

            $.get("<%=basePath %>system/user/verifyPassword",{id:id, originalpassword:originalpassword},function(data){
                if(data.status==501){
                    layer.open({content:"原密码错误"});
                    return;
                }else if(data.status==200){
                    $.post("<%=basePath %>system/user/savepassword",{id:id, originalpassword:originalpassword,newpassword:newpassword,confirmnewpassword:confirmnewpassword},function(data){
                        if(data.status==200){
                            layer.confirm("<spring:message code="opt.savesuccess"/>",{btn:['<spring:message code="opt.confirm"/>','<spring:message code="opt.cancel"/>']},function(){
                                window.location.href="<%=basePath %>system/user/list";
                            })
                        }else{
                            layer.open({content:"<spring:message code="opt.savefailed"/>"});
                        }
                    })
                }
            })

        }else {
            //不符合规则  
            showStrength.innerHTML = "密码不少于8位,英文大小写、数字、特殊符号等相结合".fontcolor("red");
            document.getElementById("newpassword").className = "icon into";
            return false;
        }
    }


    function regularValue() {

        var passwords = $("#newpassword").val();

        var reg = /^(?![A-Za-z0-9]+$)(?![a-z0-9\W]+$)(?![A-Za-z\W]+$)(?![A-Z0-9\W]+$)[a-zA-Z0-9\W]{8,}$/;

        var re = new RegExp(reg);

        if (re.test(passwords)){
            //符合规则  
            showStrength.innerHTML = "".fontcolor("green");
            document.getElementById("newpassword").className = "icon ticker";
            return true;
        }else {
            //不符合规则  
            showStrength.innerHTML = "密码不少于8位,英文大小写、数字、特殊符号等相结合".fontcolor("red");
            document.getElementById("newpassword").className = "icon into";
            return false;
        }

    }

</script>
<script type="text/javascript">

    var centerTabs= $('.easyui-tabs1').tabs({
        tabHeight: 44,
        onSelect:function(title,index){
            var currentTab = $('.easyui-tabs1').tabs("getSelected");
            //if(currentTab.find("iframe") && currentTab.find("iframe").size()){
            //currentTab.find("iframe").attr("src",currentTab.find("iframe").attr("src"));
            //}

            //左侧菜单联动
        }
    })

    $(window).resize(function(){
        $('.tabs-panels').height($("#pf-page").height()-46);
        $('.panel-body').height($("#pf-page").height()-76)
    }).resize();

    //tab 联动
    function addTab(node,obj) {
        var nodes=node.split("||");
        if(centerTabs.tabs('exists', nodes[0])){
            centerTabs.tabs('select',nodes[0]);
        }else{
            centerTabs.tabs('add',{
                title:nodes[0],
                closable:true,
                content:"<iframe class='page-iframe' src='<%=basePath %>"+nodes[1]+"' frameborder='no'   border='no' height='100%' width='100%' scrolling='auto'></iframe>"
            });
        }

        //样式
        $(".active").removeClass("active");
        $(obj).parent().addClass("active");
    }


    //语言切换
    function sLang(obj) {
        var langVar = $(obj).val();
        window.location.href="<%=basePath %>index?lang="+langVar;
    }




</script>
</body>
</html>