FR报表数据决策系统中如何修改登录界面

解压fr-server-6.5.jar后找到以下路径com/fr/fs/web/login.html代码即为登录界面的html代码。把你自己设计的html代码整个替换(确保你本地测试正常),如下:
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XXX购销存系统</title>
<link rel="stylesheet"type="text/css"href="${servletURL}?op=resource&resource=/com/fr/fs/web/css/login.css"/>
<script type="text/javascript"src="${servletURL}?op=resource&resource=/com/fr/fs/web/js/common.js"></script>
<script type="text/javascript"src="${servletURL}?op=emb&resource=finereport.js"></script>
<script type="text/javascript"language="javascript">
if (window.parent.FS) {
       window.parent.location.reload();
}
   $(document).ready(function() {
        $("#companymessage").html("Copyright"+"\u00A9" + "2012 北京XXXX科技有限公司");
       $("#username").focus();
       document.onkeydown = function(e) {
           var theEvent = window.event || e;
           var code = theEvent.keyCode || theEvent.which;
           if (code == 13) {
               $("#btnlogin").click();
                return false;
           }
       }
       ThtxSystem.Event.add(window, "scroll", resizeHeight);
       ThtxSystem.Event.add(window, "resize", resizeHeight);
       ThtxSystem.Event.add(window, "load", resizeHeight);
   });
   function resizeHeight() {
       var ocheight = (_rootEl.clientHeight - 365) / 2;
       ocheight = ocheight < 1 ? 1 : ocheight;
       $(".login_main").css("margin-top", ocheight);
    }
    function ajaxlogin() {
       if ($("#username").val() == "") {
           alert('用户名不能为空!');
           return false;
       }
       if ($("#password").val() == "") {
           alert('密码不能为空!');
           return false;
       }
       signIN();
       return false;
    }
   function resetInput() {
       $("#username").val("");
       $("#password").val("");
       $("#username").focus();
       return false;
    }
   function signIN() {
              $.ajax({
                     url: FR.servletURL + '?op=fs_load&cmd=login',
                     data: genUser(),
                     type: 'POST',
                     async: false,
                     error: function() {
                            alert("Error!");
                     },
                     complete: function(res, status) {
                            if (res.responseText == "") {
                                   alert("验证失败!");
                                   return;
                            }
                            var signResult = FR.jsonDecode(res.responseText);                          
                            if (signResult.fail) {
                                   userError();
                            } else if (signResult.url) {
                                   window.location.href= signResult.url;
                            }
                     }
              });
       }
      
       //b:考虑加密
       functiongenUser() {
              return FR.cjkEncodeDO({
                     fsusername: $("#username").val(),
                     fspassword: $("#password").val(),
                     fsremember: false
              });
       }
      
       functionuserError() {
              alert('用户名或密码不正确!');
       }
</script>
</head>
<body>
<div class="login_main">
    <div class="login_float">
        <div class="login_logo"><imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/logo.gif"border="0" /></div>
        <div class="login_logoname"><imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/logoname.gif"border="0" /></div>      
    </div>
    <div class="login_float">
        <div class="login_systemname"><imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/systemname.gif"border="0" /></div>   
    </div>
    <div class="login_float">
        <div class="login_loginimg"><imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/loginimg.gif"border="0" /></div>
        <div class="loginbg">
              <divclass="login_text_lgoin">用户登录</div>
              <divclass="login_text_username">用户名</div>
             <divclass="login_text_password">密码</div>
              <divclass="login_username"><input type="text"id="username" name="username"class="login_textbox" tabindex="0" /></div>
              <divclass="login_password"><input type="password"id="password" name="password"class="login_textbox" /></div>
              <divclass="login_btn"><input type="button" value=" " id="btnlogin" class="login_btn_l"onclick="return ajaxlogin();" /></div>
              <divclass="login_reset"><input type="button" value=" " class="login_btn_r" /></div>
        </div>      
    </div>
    <div class="login_float">
        <div class="login_loginbgbottom"><imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/loginbgbottom.gif"border="0" /></div>   
    </div>
    <div class="login_loginline"></div>
    <div class="login_copyright"id="companymessage"></div>
</div>
</body>
</html>
主要是修改一些jscss、图片的路径,如:<link rel="stylesheet" type="text/css"href="css/login.css" />需要改为<link rel="stylesheet" type="text/css"href="${servletURL}?op=resource&resource=/com/fr/fs/web/css/login.css"/>
<script type="text/javascript"src="js/common.js"></script>需要改为<scripttype="text/javascript"src="${servletURL}?op=resource&resource=/com/fr/fs/web/js/common.js"></script>
<script type="text/javascript"src="${servletURL}?op=emb&resource=finereport.js"></script>这个不能动,调用系统的登录接口。
1、一般自己写时都是相对路径,这里需要改为绝对路径${servletURL}?op=resource&resource=/com/fr/fs/web/即为login.html的所在目录,css文件夹是存放css的,js文件夹是存放js文件的,当然也可以自定义路径,把绝对路径设置对了就可以了。
2、图片一般放在images文件夹下(可以自定义路径),页面中的图片路径如<img src="images/logo.gif" />需要改为<imgsrc="${servletURL}?op=resource&resource=/com/fr/fs/web/images/logo.gif"border="0" />,css文件中的图片路径也要修改为这样。
3、最后就是js调用了,finereport.js这个文件中包含jqurey引用,不用重新再引用一遍了,按钮onclick时间调用自定义方法ajaxlogin()方法,自己判断,最后传随需参数给系统的signIN()方法,实现全过程。
4、中间会遇到的问题:编码问题
由于页面中和js注释中有中文字符,所以编码问题成了唯一障碍,我下载了一个Notepad,转换编码,最后ansi编码是正常显示的,把你所修改的文件编码都转换一下就可以了,修改后的文件打开jar包找到相应位置替换进去,然后替换jar包就可以了,注意先备份。

FineReport╭★`篱谱﹫ 发布于 2012-9-10 17:41
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
无语_sql发布于2012-9-11 13:12(编辑于 2023-9-6 09:34)
555
最佳回答
0
yzftz发布于2012-9-11 13:32(编辑于 2023-9-6 09:34)
555
最佳回答
0
vikou发布于2012-9-11 21:31(编辑于 2023-9-6 09:34)
555
最佳回答
0
vikou发布于2012-9-11 21:32(编辑于 2023-9-6 09:34)
555
最佳回答
0
╭★`篱谱﹫发布于2012-9-12 09:35(编辑于 2023-9-6 09:34)
555
最佳回答
0
happyhorse发布于2018-7-3 15:26(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 3801浏览人数
  • 最后回答于:2018-7-3 15:26
    活动推荐 更多
    热门课程 更多
    返回顶部