Zhiqim Master(运营管理台)是在ZhiqimManager基础上改造成用于运营思路的管理系统,增加余额,和组织结构等,开放组织管理员,可以添加组织内的部门和角色和操作员。并增加该管理台上的一些组件,如充值支付等组件。适用于二级代理管理或该大型组织机构

森中灵 最后提交于6月前 替换为8.0.5版本
index.htm6KB
<!DOCTYPE html>
<html>
<head>
<title>${context.getContextName()}</title>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
${Styles.src(zhiqim.css)}
${Scripts.src(zhiqim.js)}
${Scripts.setContextPath(context)}
${Scripts.src(jsencrypt.js)}
${Styles.htmlOverflowHidden()}
${zhiqim_manager_console_log()}
<style>
body{color:#333;background-color:#fff;background-image: url(ztmpl/zhiqim_manager/00_default/index_bg.jpg);background-repeat: no-repeat;background-size:100%;}
body,table,td,div{font-size:14px;line-height:120%;}
a,a:visited{color:#333;text-decoration:none;cursor:pointer;}
a:active,a:hover{color:#1e7eec;text-decoration:none;}

.header{position:fixed;width:100%;height:40px;line-height:40px;background-color:#000; background:rgba(0,0,0,0.2); filter:alpha(opacity=20);}
.footer{position:fixed;bottom:0px; width:100%;height:40px;background:rgba(255,255,255,0.2);line-height:40px;text-align:center;color:#fff;}

.login{width:520px;;border:1px solid #ccc;background-color: #ffffff;border-radius:10px;padding:20px;}
.input{color:#666;font-size:20px;border:2px solid #cecfcf;border-radius:5px;height:50px;line-height:50px;text-indent:10px;font-family:Consolas,"微软雅黑";}
.input.verificationCode{letter-spacing:4px;}
</style>
<script>
Z.onload(function()
{//默认焦点
    if (Z.V.isEmpty(Z("#operatorCode").val()))
        Z("#operatorCode").focus();
    else if (Z.V.isEmpty(Z("#operatorPass").val()))
        Z("#operatorPass").focus();
    else if (Z("#verificationCode").length > 0)
        Z("#verificationCode").focus();
        
    Z(document).keydown(function(e)
    {
        if (Z.E.key(e) != Z.E.KEY.ENTER)
            return;
            
        if (!Z.Dialog.cache.isEmpty())
            return;
            
        doLogin();
    });
});

function doRememberCode(rememberCode)
{//取消记住账号时,同时取消记住密码
    if (!rememberCode.checked)
    {
        Z("#rememberPass")[0].checked = false;
        Z("[data-id=rememberPass]").removeClass("z-active");
    }
}

function doRememberPass(rememberPass)
{//记住密码时,同时记住账号
    if (rememberPass.checked)
    {
        Z("#rememberCode")[0].checked = true;
        Z("[data-id=rememberCode]").addClass("z-active");
    }
}

function doLogin()
{//登陆
    var operatorCode = Z("#operatorCode").val();
    if (Z.V.isEmptyBlank(operatorCode))
    {//用户名和密码必填
        Z.failure("用户名不能为空!",function(){
            Z("#operatorCode").focus();
        });
        return;
    } 
    
    var operatorPass = Z("#operatorPass").val();
    if (Z.V.isEmptyBlank(operatorPass))
    {//用户名和密码必填
        Z.failure("密码不能为空!",function(){
            Z("#operatorPass").focus();
        });
        return;
    }
    
    var verificationCode = Z("#verificationCode").val();
    if (Z("#verificationCode").length > 0 && verificationCode.length != 4)
    {//如果有验证码框的时候,要求值必须是4位(数字在输入时控制)
        Z.failure("验证码为4位数字!");
        return;
    }
    
    //对密码进行RSA加密
    var publicKey = "${ZmrParamDao.getPublicKey()}";
    var encrypt = new JSEncrypt();
    encrypt.setPublicKey(publicKey);
    operatorPass = encrypt.encrypt(operatorPass);
    
    var ajax = Z.ajax("ZmrLoginPresenter", "doLogin");
    ajax.addParam("operatorCode", operatorCode);
    ajax.addParam("operatorPass", operatorPass);
    ajax.addParam("verificationCode", verificationCode);
    
    <#if hasRememberCode>
    ajax.addParam("rememberCode", Z("#rememberCode")[0].checked);
    </#if>
    <#if hasRememberPass>
    ajax.addParam("rememberPass", Z("#rememberPass")[0].checked);
    </#if>
    
    ajax.setFailureAlertRecovery();
    ajax.setSuccessLocationResponse();
    ajax.setLoading("login", "正在登录...", {disabled:true,recovery:false});
    ajax.execute();
}
</script>
</head>

<body>
<div class="header">
    <div class="z-float-left z-w400 z-lh40 z-pd-l10 z-color-white">欢迎登录&nbsp;&nbsp;[&nbsp;${context.getContextName()}&nbsp;]!</div>
    <div class="z-float-right z-text-right z-w200 z-lh40 z-pd-r10"></div>
</div>  
<div class="z-absolute-center-middle login" style="height:<#if hasVerificationCode && hasRememberCode>420<#elseif hasVerificationCode>390<#elseif hasRememberCode>350<#else>320</#if>px">
    <input type="text" class="z-hidden-fixed"/>
    <input type="password" class="z-hidden-fixed"/>
    <div class="z-px24 zi-bd-b z-color-666 z-pd-b10"><i class="z-font z-customer"></i>&nbsp;&nbsp;用户登录</div>
    <div style="padding:25px 40px 20px 30px;">
    <table class="z-table z-pd5 z-h100p">
    <tr class="z-h70">
        <td><input id="operatorCode" class="z-w100p input" placeholder="用户名" value="#{operatorCode}" maxlength="16" spellcheck="false" autocomplete="off"></td>
    </tr>
    <tr class="z-h70">
        <td><input id="operatorPass" type="password" class="z-w100p input" placeholder="密码" value="#{operatorPass}" maxlength="16" spellcheck="false" autocomplete="off"></td>
    </tr>
    <#if hasVerificationCode>
    <tr class="z-h70">
        <td>
            <input id="verificationCode" class="input verificationCode" style="width:270px" placeholder="验证码" data-options="type:Numeric;paste:true;" maxlength="4" spellcheck="false" autocomplete="off">
            <img class="z-pointer z-bd-rd5 z-mg-t-5" title="点击刷新验证码" onclick="this.src='service/vcode.jpg?bgColor=%231299ec&width=120&height=50&fontSize=20&yawp=true&t='+new Date().getTime();" src="service/vcode.jpg?bgColor=%231299ec&width=120&height=50&fontSize=20&yawp=true&t=${DateTimes.getDateTime17String()}">
        </td>   
    </tr>
    </#if>
    <#if hasRememberCode>
    <tr class="z-h40">
        <td class="z-px16 z-color-gray">
            <input id="rememberCode" type="checkbox" data-role="z-checkbox" data-class="${zmr_color_class}" onclick="doRememberCode(this);" <#if Validates.isNotEmpty(operatorCode)>checked</#if>>&nbsp;&nbsp;记住用户名
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <#if hasRememberPass>
            <input id="rememberPass" type="checkbox" data-role="z-checkbox" data-class="${zmr_color_class}" onclick="doRememberPass(this);" <#if Validates.isNotEmpty(operatorPass)>checked</#if>/>&nbsp;&nbsp;记住密码
            </#if>
        </td>
    </tr>
    </#if>
    <tr class="z-h70">
        <td><button id="login" class="z-button z-xlarge z-w100p z-h50 zi-px20 ${zmr_color_class}" onclick="doLogin()">登&nbsp;&nbsp;录</button></td>
    </tr>
    </table>
    </div>
</div>
<div class="footer">${zmr_copyright}</div>
</body>
</html>